非主要唯一不能在实体框架数据库中加入

时间:2016-03-07 16:27:53

标签: c# entity-framework

我试图使用EF 6.1.3对我的EF模型使用Unique约束,从数据库到EF模型。我在Code-First中做过的示例,但我似乎无法使用此架构从现有数据库更新我的模型。

CREATE TABLE [dbo].[Applications]
(
   [ApplicantId] INT NOT NULL IDENTITY, 
   [Name] VARCHAR(50) NOT NULL,
   [StateCode] VARCHAR(2) NOT NULL,
   CONSTRAINT [FK_Applications_ToStates] FOREIGN KEY ([State]) REFERENCES [States]([StateCode]),
)
CREATE TABLE [dbo].[States]
(
   [StateId] INT NOT NULL IDENTITY, 
   [StateCode] VARCHAR(2) NOT NULL  , 
   [StateName] VARCHAR(100) NOT NULL, 
   CONSTRAINT [PK_States] PRIMARY KEY ([StateId]), 
   CONSTRAINT [AK_States_StateCode] UNIQUE ([StateCode]) 
)

我收到以下错误:

  
    

严重级代码说明项目文件行     警告错误6035:关系' FK_Applications_ToStates'具有不属于关系主要一侧表的键的列的列。这种关系被排除在外。

  
据我所知,

EF不支持非基于数字的主键。

1 个答案:

答案 0 :(得分:0)

根据EF的CodePlex,这是一个未解决的问题,也是第二个最受欢迎的功能。当时没有办法处理这个问题,我将不得不尝试围绕它编码

http://entityframework.codeplex.com/workitem/299