[英]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.