以下是我试图在其中定义外键关系的两个部分表。
public class Form
{
[Key, Column("FormID")]
public System.Guid FormGUID { get; set; }
[Column("PatGUID")]
public Nullable<System.Guid> PatientGUID { get; set; }
}
public class Patient
{
[Column("PatGUID")]
public System.Guid PatientGUID { get; set; }
[Key, Column("PatID")]
public int PatientID { get; set; }
}
除了这个例子的相关信息、字段、导航等之外,我已经删除了所有内容;希望不要太多。
我们有一个表格表格,带有一个 FKPatGUID
到一个带有字段的 Patient 表格PatGUID
。Patient 表有一个PatID
int KEY 字段。
我们需要为代码优先实体模型重命名字段;此示例中需要更改的相关字段PatGUID
正在更改为PatientGUID
.
我遇到的困难是尝试使用注释或流利的方式定义这个外键。
所以我需要的最终结果是:
主键表:患者,字段:(
PatGUID
重命名为 PatientGUID)外键表:表单,字段:(
PatGUID
重命名为 PatientGUID)
这似乎不会造成大问题,但是由于Patient.PatGUID
不是主键和PatGUID
重命名为的字段的组合, PatientGUID
WCF 数据服务无法正确创建具有正确引用的引用,因此是正确的选择/连接的:
SELECT … FROM [dbo].[Form] AS [Extent1]
INNER JOIN [dbo].[Patient] AS [Extent2] ON [Extent1].[PatGUID] = [Extent2].[PatGUID]