[英]Entity Framework and (1 to many)-(many to 1) (1 - * * - 1) relations
一段時間以來,我在弄清楚如何從數據表中獲取數據時遇到了一些麻煩(MSSQL 2008)。 問題是這樣的。 您有 3 張桌子:
我假設 JOB 可以由許多工人完成,所以我需要“Worker2Job”表。 所以我可以輸入 JobID:1 是由 WorkerID1 和 WorkerId2 等創建的......
現在使用實體框架,我不知道如何為第一個工作人員(也不是任何其他工作人員列表)獲取“WorkerName”屬性。
有任何想法嗎?! 提前謝謝!
您在Worker2Job
中不需要任何特殊的RowId
。 只需用兩列定義您的Worker2Job
: WorkerId
和JobId
,並使這兩列成為表的復合主鍵。 將所有三個表添加到實體設計器后,它將自動查看多對多關系,並在 model 中僅創建兩個具有正確關系的實體。 Worker
實體將具有Jobs
導航屬性,而Job
將具有Workers
導航屬性。 您將能夠編寫如下查詢:
var query = context.Jobs.Include("Worker").Where(j => j.JobId == someId);
這樣的查詢將加載所有相關工作人員的工作,您將可以訪問他們的姓名。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.