2010-04-23 35 views
0

每個人的快速問題:我是否需要在我的實體框架模型中包含所有字段

我是否需要在EF模型中包含所有數據庫表字段?

例如;我創建了一個只處理tblPayment和相關表的子模型。現在,我需要編寫一個LINQ查詢來獲取有關項目的一些信息。我通常會通過將tblPayment連接到tblInvoice到tblInvoiceItem來最終獲得tblOrderItem。

我想知道如果當我添加其他表中,我是否需要包含tblInvoice和tblInvoiceItem的所有字段?理想的情況下;我只想保留需要加入的字段,因爲如果修改/刪除這些表中的其他字段,就會限制子模型中斷的可能性。

我可以這樣做嗎?

回答

1

不,你不需要全部包含它們。

但是,GUI映射工具在將現有數據庫逆向工程化爲EF模型時,將始終包含所有列,並且無法告訴它不要。

因此,排除列,必須執行以下

  • 一個手動編輯EDMX自己。簡單地刪除GUI設計器中的列可能會工作,但僅刪除CSDL中的列,而不是SSDL。 EF可能會或可能不會讓您這樣做,具體取決於列的SSDL映射。
  • 從不同的數據庫中生成模型,它具有類似的模式,只是它缺少這些字段。
  • 代碼優先或模型優先(僅限EF 4)。
0

是的,您可以從實體中刪除其他字段。

相關問題