【发布时间】:2015-03-25 10:37:47
【问题描述】:
我正在尝试为以下关系建模,目的是首先为 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 个表映射的类
-
所以这不会回答你的问题,但这似乎更像是一个数据库设计问题,而不是用 EF 解决的问题。为什么不将 Program 表的 ClusterCode 字段替换为 ClusterID 字段,作为 Cluster 表的外键?
标签: sql-server entity-framework ef-code-first data-modeling