gpt4 book ai didi

entity-framework - 身份规范设置为false

转载 作者:行者123 更新时间:2023-12-04 04:53:29 25 4
gpt4 key购买 nike

我正在使用EF5Code First创建数据库。当Entity具有Id field时,EF会在数据库中创建诸如Primary Key之类的字段,并将Identity specification设置为true(自动生成的值)。如何设置Identity specification to false by default

最佳答案

如果您不想使用身份 key ,则有几种选择。

选项1:您可以通过删除StoreGeneratedIdentityKeyConvention来全局关闭此功能:

public class YourContext : DbContext {
protected override void OnModelCreating(DbModelBuilder modelBuilder) {
modelBuilder.Conventions.Remove<StoreGeneratedIdentityKeyConvention>();
}
}

您可以通过应用属性或流畅的映射来有选择地选择键并更改其行为。

选项2:属性:
public class MyEntity {
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int Id { get; set; }
}

选项3: Fluent API:
public class YourContext : DbContext {
protected override void OnModelCreating(DbModelBuilder modelBuilder) {
modelBuilder.Entity<MyEntity>()
.Property(e => e.Id)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
}
}

关于entity-framework - 身份规范设置为false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14829911/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com