簡體   English   中英

如何最好地手動使用Entity Framework Code First模型類處理現有數據庫列映射?

[英]How best to handle existing database column mappings with an Entity Framework Code First model class manually?

我正在使用現有的MSSQL數據庫構建EF Code First驅動的應用程序。 我真的想避免使用任何強大的工具或基於向導的自動代碼生成實用程序來構建我的模型和dbcontext,因為我們將需要對代碼生成進行全面控制。

我的問題是,當我構建模型(在我的上下文中最終將成為dbset()屬性)時,應如何處理模型中現有的SQL列? 我是否需要為數據庫中每個設置為“不可為空”的數據庫列添加一個屬性到我的模型類中? 如果我在模型中遺漏了一些與db列相對應的屬性,EF是否會知道該怎么辦? 只是不確定如何解決所有問題,並且在直接訪問CF模型到現有數據庫字段映射的資源方面遇到了一些麻煩。 是否有人提供有助於澄清此過程的信息?

任何幫助將不勝感激,謝謝!

使用混合方法,從數據優先模型開始,然后使用代碼優先方法添加新實體。

如果該實體與其映射到的數據庫實體不匹配,EF將引發異常。

到目前為止,這是我與EF合作並且沒有問題的唯一方法。 如果對象上的屬性為空,則EF會將空值寫入數據庫。 另外,您的所有列都無需在實體中表示(盡管顯然所有必需的列都必須存在,或者如果要執行插入操作,則在數據庫級別具有默認值)。 我認為很難找到有關此類問題的信息的原因是,這是ORM所做的事情,而且做得很好。 我建議您嘗試創建和使用您的第一個實體,看看您遇到什么問題。 這可能比您現在所處的位置容易得多。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM