【问题标题】:Entity Framework 5 - Code First - Inserting Identity Value?实体框架 5 - 代码优先 - 插入身份值?
【发布时间】:2013-05-06 23:05:00
【问题描述】:
我有一个定义了 PK 的实体,它是基础数据库中的 Identity 列。在大多数情况下,我只是让 SQL Server 为我生成值。但是,在某些情况下,我想提供一个值而不是 SQL Server 生成一个值。我可以使用 EF 5(使用 Code First)来做到这一点吗?
【问题讨论】:
标签:
entity-framework
entity-framework-5
【解决方案1】:
如果是 SQL Server,则使用 ExecuteSQLCommand 发送您需要的命令
我创建了这个测试作为示例
[Fact]
private void IdentityInsertOK()
{
var sql = "set identity_insert ConfigSettings on " +
"delete from ConfigSettings where id =2 " +
"insert into ConfigSettings (Id,Name, value) values (2,'test ','testval') " +
"set identity_insert ConfigSettings off ";
using (var Db = SettingsHelper.CreateContext(ConnectionType.Syrius))
{
Db.Database.ExecuteSqlCommand(sql);
Db.SaveChanges();
}
}