【发布时间】:2013-12-26 11:51:14
【问题描述】:
我们可以在没有任何IDENTITY 列和主键的情况下向 SQL Server 表中插入一行吗?
在实体框架 5 中
【问题讨论】:
-
否 - 每个表都应该有一个主键,EF 强制执行此操作。
标签: sql entity-framework-5 identity-column
我们可以在没有任何IDENTITY 列和主键的情况下向 SQL Server 表中插入一行吗?
在实体框架 5 中
【问题讨论】:
标签: sql entity-framework-5 identity-column
实体框架需要一个主键。关系数据库应该在所有表上都有主键。但是,您不需要身份作为主键。您可以使用任何唯一值作为主键。只要您填充它,Entity Framework 就会接受它,当然它必须是唯一的。
使用“智能”(非身份)密钥会带来一些问题。任何数据值都可能发生更改或更正,因此使用电话号码之类的东西作为主键意味着您必须在数据值更改时将更改传播到整个数据库。
【讨论】: