2014-03-27 32 views
3

我們有現有的POCO模型類和現有的數據庫。 OO模型類和關係數據庫表不直接映射到對方。如何使用實體框架將POCO模型類映射到現有數據庫表

如何使用實體框架來映射這些?我見過的所有教程都是Code First(它會生成新的DB表),Model first(生成新的DB表和POCO)和DB First(生成新的POCO)。

我不想要這些!我想在現有的POCO和DB表之間進行映射。這樣做的最好方法是什麼?我可以使用視覺設計師,還是必須在代碼中使用它?

回答

2

創建將您的實體映射到數據庫結構的映射(我建議使用流暢的映射)。然後,只需禁用數據庫生成:

Database.SetInitializer<YourContext>(null); 

和現有的數據庫提供連接字符串:

public class YourContext : DbContext 
{ 
    public DatabaseContext(string connectionStringName) 
     : base(connectionStringName) 
    { 
    } 
} 
+0

如果使用流利的API,這是否意味着你不使用EDMX可視化的設計呢? – Anthony

+0

另外,您如何將一個POCO類映射到兩個數據庫表?我找到了放在類頂部的Table屬性,但沒有看到如何將兩個表映射到該屬性。 – Anthony

+0

爲了回答我自己的問題,我在評論中加入了...... 1)Fluent API和Annotations是Code First的一部分。 2)當您使用Code First時,沒有數據模型/ edmx/xml配置。 3)有一個使用兩個表的POCO稱爲實體分割。 – Anthony

相關問題