实体框架5 - 代码优先 - 插入身份价值?

时间:2013-05-06 23:05:01

标签: entity-framework entity-framework-5

我有一个定义了PK的实体,它是底层数据库中的Identity列。在大多数情况下,我只是让SQL Server为我生成值。但是,在某些情况下,我想提供一个值而不是SQL Server生成一个值。我能用EF 5(使用Code First)做到这一点吗?

1 个答案:

答案 0 :(得分:0)

如果是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();
            }

        }