2012-03-06 24 views
0

私は既存のサイトのサブアプリケーションを作成することになっています。サブアプリケーションは親サイトのユーザーを使用する必要がありますが、これは別のデータベースの下にあります。Entity Frameworkコードファースト - 別のデータベースのエンタテイメントをモデルに組み込む

新しいサイトでは、まずEntity Frameworkコードを使用しています。ただし、親データベースのユーザーテーブルと新しいコードの最初のデータベースとの間のマッピングを作成したいと思います。

これは可能ですか?

  • ParantDB.dbo.User
  • SubDB.dbo.Order
  • SubDB.dbo.OrderItems

    public class Order 
    { 
        public int OrderId { get; set; } 
        public User Customer { get; set; } // Maintains a relationship user table 
    } 
    
    public class User 
    { 
        public int UserId { get; set; } 
        .... 
    } 
    

    パブリッククラスSubSiteContext:DbContext {

     public DbSet<Order> Orders { get; set; } 
        public DbSet<User> Users { get; set; } 
    
        protected override void OnModelCreating(DbModelBuilder modelBuilder) 
        { 
          //???? I Presume I need to do the mapping here?? 
        } 
    } 
    

答えて

1

コンテキストは、単一の接続文字列=単一データベースにのみバインドできます。たとえば、SubDBにデータベースビューを作成し、クエリを内部的に非表示にしてParentDB.dbo.Usersにし、テーブルをマッピングするのと同じ方法でこのビューをマップします。

関連する問題