Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 将实体框架的主键添加到基于表的视图中的现有列中,其中每个列都允许为Null_Sql Server_Entity Framework_Sql Server 2008 R2_Entity Framework 6 - Fatal编程技术网

Sql server 将实体框架的主键添加到基于表的视图中的现有列中,其中每个列都允许为Null

Sql server 将实体框架的主键添加到基于表的视图中的现有列中,其中每个列都允许为Null,sql-server,entity-framework,sql-server-2008-r2,entity-framework-6,Sql Server,Entity Framework,Sql Server 2008 R2,Entity Framework 6,有很多问题问这个,但我似乎找不到一个具体的解决办法 我有一个第三方数据库,其中每个字段都设置为允许null。其中一列(“代码”)是唯一的字符串ID,并且是不同的 使用EntityFramework,我想通过告诉EF将列“Code”作为主键来添加这个表 我已经创建了一个视图,但我不确定从这里到哪里去 我见过一些解决方案,包括添加一个额外的行号作为主键,但如果可能的话,我更喜欢使用“代码” 有什么想法吗?经过一些尝试,我找到了一个只读解决方案 在视图中,我将列修改为: 选择ISNULL(code,-

有很多问题问这个,但我似乎找不到一个具体的解决办法

我有一个第三方数据库,其中每个字段都设置为允许null。其中一列(“代码”)是唯一的字符串ID,并且是不同的

使用EntityFramework,我想通过告诉EF将列“Code”作为主键来添加这个表

我已经创建了一个视图,但我不确定从这里到哪里去

我见过一些解决方案,包括添加一个额外的行号作为主键,但如果可能的话,我更喜欢使用“代码”


有什么想法吗?

经过一些尝试,我找到了一个只读解决方案

在视图中,我将列修改为:

选择ISNULL(code,-1)作为代码

指定ISNULL允许EF推断主键。它并不理想,因为我希望它也是可写的。你得到的信息是:

错误6002:表/视图“KittyCat.dbo.view\u GetCatDetails”不存在 定义主键。已推断出密钥,并且 已将定义创建为只读表/视图