Sql server 我可以定义与人工PK的识别关系吗
我在我的项目中有几个模型,它们确实应该使用标识关系,但出于速度和简单性的原因,我用独特的自动增量主键设置了它们。例如,联系人中的电子邮件地址:Sql server 我可以定义与人工PK的识别关系吗,sql-server,entity-framework,ef-code-first,foreign-keys,Sql Server,Entity Framework,Ef Code First,Foreign Keys,我在我的项目中有几个模型,它们确实应该使用标识关系,但出于速度和简单性的原因,我用独特的自动增量主键设置了它们。例如,联系人中的电子邮件地址: 公共类电子邮件地址 '这是当前的主键 公共属性EmailAddressID为整数 “这三个属性实际上构成了与联系人的标识关系中的复合主键 公共属性ContactID为整数 作为字符串的公共属性地址 作为字符串的公共属性域 末级 关于此设置,我有两个问题: 在复合密钥中包含nvarchar字段是否真的会降低DB的速度,足以保证不使用它(因为我被引导相信学
公共类电子邮件地址
'这是当前的主键
公共属性EmailAddressID为整数
“这三个属性实际上构成了与联系人的标识关系中的复合主键
公共属性ContactID为整数
作为字符串的公共属性地址
作为字符串的公共属性域
末级
关于此设置,我有两个问题:
nvarchar
字段是否真的会降低DB的速度,足以保证不使用它(因为我被引导相信学校)据我所知,该模型在概念上已经是一种识别关系,只是在数据库中没有这样定义。如果EmailAddress绝对是联系人的100%依赖子项(我不希望EmailAddress在没有联系人的情况下存在),是否有任何理由不更改我的DB模式以反映这一点?