我处理这个问题:我想在我的表自动生成的身份是int类型SQL IDENTITY自动增量当0,但仍允许显式插入
,但是,我想能够明确设置身份。现在真正的挑战是这些东西正在通过实体框架。我有我的数据库IDENTITY(1,1)
列和IDENTITY_INSERT
设置为ON
。
并且只要Id
在新创建的对象中为0(未指定),它将插入相同的0.任何帮助表示赞赏,除了提供重新考虑体系结构(如果尝试失败,我会在其他任何情况下执行此操作)。
而这一切都必须在SQL CE和SQL Server上工作。
我不确定你想要解决什么确切的问题。你能否提供一个使用案例,说明为什么以及何时需要插入一个已定义的ID而不是一个自动增加的ID? – Tanner 2014-11-24 15:37:09
你在什么版本的SQL Server?这听起来像使用“序列”可能比使用标识列更有意义。 – 2014-11-24 16:04:25
'Id是0(未指定)'0是int的默认和完全有效的值,因此它被指定。尝试使'Id'可以为空。如果它是空的(而不是0),EF应该能够照顾它。 – PoweredByOrange 2014-11-24 16:07:01