我想要首先为EF代码设计类的目的来模拟以下关系。对非主键关系建模
Program
表:
ProgramID - PK
ProgramName
ClusterCode
样本数据
ProgramID ProgramName ClusterCode
--------------------------------------
1 Spring A
2 Fall A
3 Winter B
4 Summer B
Cluster
表:
ID
ClusterCode
ClusterDetails
样本数据:
ID ClusterCode ClusterDetails
---------------------------------
1 A 10
2 A 20
3 A 30
4 B 20
5 B 40
我需要将Program
表加入Cluster
表,以便我可以获取每个程序的群集详细信息列表。
的SQL将
Select
from Programs P
Join Cluster C On P.ClusterCode = C.ClusterCode
Where P.ProgramID = 'xxx'
注意,对于Program
表,ClusteCode
不是唯一的。
对于Cluster
表,既不是ClusterCode
也不是ClusterDetail
是唯一的。
我该如何建模,这样我就可以利用导航属性和代码优先?
请加标记语言(C#或VB.NET或ETS)也最好是显示映射在2个表上的类 – jfun 2015-01-26 22:57:28
因此,这不会回答你的问题,但这似乎更像是一个数据库设计问题,而不是EF要解决的问题。为什么不使用ClusterID字段替换Program表的ClusterCode字段作为Cluster表中的外键? – Fiddles 2015-01-26 23:27:21