在實體框架6代碼中,我可以向我的C#對象模型中添加哪些屬性以用於1-1父/子關係而底層的SQL表關係是1到多?在EF6中,如何在1到多個SQL表關係的頂部關聯1#關係的c#模型
數據在SQL Server中爲特定客戶通用於所有的客戶數據和數據之間的分割2012
它有三個實體,一個WarehouseBase基礎機構,WarehouseCustom客戶特定數據和客戶的實體。
C#的對象:
Warehouse
{
public Guid ID {get;set;}
public string Name {get;set;}
public string Note {get;set;} //customer specific data
}
Customer
{
public Guid ID {get;set;}
public string Name {get;set;}
}
客戶用戶可以使用這個工作流程:
- 客戶在瀏覽器中查看倉庫XYZ。它應該返回倉庫XYZ共享數據(ID,名稱)和客戶特定數據(注)。
- 客戶編輯說明,並點擊保存按鈕
- 注意應保存到數據庫
的管理員將編輯並保存WarehouseBase數據(名稱),而不是客戶的具體數據。
SQL表:
WarehouseBase
ID : Guid
Name: Nvarchar (255)
WarehouseCustom
ID : Guid
WarehouseBaseID: GUID
CustomerID : GUID
Note : Nvarchar (255)
Customer
ID : Guid
Name : Nvarchar (255)
該系統具有使用Web瀏覽器前端連接到服務器的WebAPI多個不同的併發用戶。服務器使用EF6/C#來訪問SQL Server。
可以爲此C#模型添加哪些屬性?
已經看到:
- 一對多的關係:http://www.entityframeworktutorial.net/code-first/configure-one-to-many-relationship-in-code-first.aspx
- 如何查詢一對多和加載特定的子數據:Entity Framework include filter child collection
我們的應用程序將有50多種這些類型的基礎/自定義實體;所以避免爲每個實體手動編碼2個查詢加載和1個查詢保存會有所幫助。 – testx
對於新客戶,備註的子對象可能不存在。 – testx
用戶將首先通過倉庫名稱(基本實體數據)進行搜索以查找並加載倉庫名稱。通過倉庫記錄首先進行搜索或鏈接表比添加2個查詢來讀取倉庫和1個查詢來更新倉庫註釋增加了更多的複雜性。 – testx