2011-02-17 13 views
6

使用EF CTP5,我試圖做一些實體拆分,其中實體是從兩個單獨的表構造的。如果兩個表上的鍵不是主鍵,是否可以進行拆分?實體框架CTP5代碼優先 - 可能在非主鍵上做實體分割?

E.g. Id是我在Note實體上的主鍵。我想從單獨的表中獲取我的CreatedUser詳細信息,但第二個表上的主鍵對應於Note實體中的CreatedUserId。

 modelBuilder.Entity<Note>() 
      .Map(mc => 
      { 
       mc.Properties(n => new 
       { 
        n.Id, 
        n.Title, 
        n.Detail, 
        n.CreatedUserId, 
        n.CreatedDateTime, 
        n.UpdatedUserId, 
        n.UpdatedDateTime, 
        n.Deleted, 
        n.SourceSystemId, 
        n.SourceSubSystemId 
       }); 
       mc.ToTable("Notes"); 
      }) 
      .Map(mc => 
      { 
       mc.Properties(n => new 
       { 
        n.CreatedUserId, 
        n.CreatedUser 
       }); 
       mc.ToTable("vwUsers"); 
      }); 

我見過的評論說,實體分裂只是可能的,如果實體的主鍵兩個表中存在?

在此先感謝。

回答

2

是的,在實體拆分方案中生成的所有表必須具有對象標識符(例如Note.Id)作爲其主鍵。在這種情況下,您應該考慮在User和Note實體之間創建1:*關聯。

+0

感謝您確認此Morteza和快速響應。我將着手實施1. *明天! – Col 2011-02-17 21:37:00