我的工作,有許多已經存在的表映射像這樣映射數據庫表用流利的API
public DbSet<Activity> Activities { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Activity>().ToTable("Activity", "MES_WVM");
modelBuilder.Entity<Activity>().HasKey(r => new { r.ActivityID });
}
工程對大多數我結束了工作表的應用程序沒有主鍵。我現在負責創建一些新功能,這要求我從新表中提取數據。這些表沒有主鍵,我沒有訪問權限來更改它。關於mapping with fluent api狀態的MSDN文章
按照慣例,沒有指定主鍵的類型將被視爲複雜類型。有些情況下Code First不會檢測到複雜類型(例如,如果確實有一個名爲ID的屬性,但並不意味着它是主鍵)。在這種情況下,您可以使用流暢API來明確指定類型是複雜類型。
modelBuilder.ComplexType<Details>();
使用上面的方法不允許我使用ToTable()
映射這種類型的數據庫表。我如何使用流利的API來做到這一點。我還想強調一下,我不打算在DB密鑰中給出表,儘管它們肯定是應該的。
我沒有打算使用Fluent API添加密鑰,但我仍然需要映射我的類到我的數據庫表。應用程序需要知道表名稱和模式名稱,因此需要映射。 – Jeff 2013-05-07 22:25:37