c# - Code-First Entity Framework 使用自定义 ID 插入数据

标签 c# .net-4.0 entity-framework-4.1 code-first

我在我的项目中使用代码优先 EF,并且在插入具有自定义 ID 的数据时遇到问题。

当我尝试插入具有自定义 ID 的数据(例如 999)时,EF 会忽略它并将递增的 ID 插入到表中。

我的模型:

public class Address
{
        [Key]
        public int Id { get; set; }
        public string FirstName { get; set; }
...
}

如何解决这个问题?

编辑:

1) 如何从 N 开始递增,而不是从 0 开始递增?

2) 如果我不指定自定义 ID,数据库必须递增并插入自己的 ID。如果我指定自定义 ID,数据库必须插入它。可能吗?

最佳答案

你可以使用下面的属性

[Key, DatabaseGenerated(DatabaseGeneratedOption.None)]

关于你的类(class)或使用 fluentAPI 的关键

modelBuilder.Entity<Address>().Property(p => p.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);

关于c# - Code-First Entity Framework 使用自定义 ID 插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12728226/

相关文章:

C# 克隆 EventHandler

c# - 使用 Automapper 将域对象转换为 ViewModel,反之亦然

.net - Entity Framework 4.1中的外键

c# - MVVM模式,ViewModel集合

c# - 正则表达式在 C# 中拆分多行文本

c# - .NET REGEX 匹配匹配空字符串

c# - C#如何进行动态绑定(bind)?

c# - 只有 Microsoft .NET 堆积柱形图控件中的第一个系列才能正确显示工具提示

entity-framework - Entity Framework 验证困惑- '128'的最大字符串长度

entity-framework-4.1 - 用EF代码优先枚举-将DB播种然后使用的标准方法?