0
我关于实施EF反对到它的参与者,包括教师如下链接培训班现有的数据库工作创建1-1导航属性从1一对多的关系
Training
-------------------
ClassId (PK)
TrainingParticipant
-------------------
ParticipantId (PK)
ClassId (FK references Training)
PersonId (FK references Person)
ParticipantRoleId (FK references a role table)
的参与者表应该有1-10名参与者和1名培训师。 (以其ParticipantRoleId来区分)。我已经开始进行数据库优先开发,并生成了映射培训和培训参与者之间一对多关系的edmx和上下文/模型;但是,它生成的导航属性将带回所有TrainingParticipant条目的集合。
我不断地编码类似下面的查询来检查,或获取记录的单教练员参加像这样:
var trainer = context.TrainingParticipant.Where(p => p.ParticipantRoleId == 17).FirstOrDefault()
var students = context.TrainingParticipant.Where(p => p.ParticipantRoleId == 2)
我会非常想有一个导航属性,这将使访问这些在复杂的查询中以及将模型数据绑定到UI时更直接。像这样:
var training = context.Training.Where(t => t.Instructor.Person.FirstName.Contains("John"));
是否有可能创建这样的导航属性,最好不改变任何表?
@ user2337991嗯有趣的是,我不是100%肯定如果您首先通过带有DB的部分包含属性,该如何忽略该属性。如果[未映射]注释不起作用,我不太确定你是如何做到这一点的。我会有一些想法,或者如果有人知道我好奇 – 2013-05-01 02:57:27