我有一个代码第一个EF模型类,如下所示:
public class ContentEntry
{
[Key, Column(Order = 0)]
public int Id { get; set; }
[Key, Column(Order = 1)]
public string Language { get; set; }
}
如果为0,是否可以自动递增Id
例如:我想添加一个像
这样的数据集Id = 1, Language = "En"
工作正常。然后,我想添加以下内容:
Id = 1, Language = "De"
它也很好用。但是,我想补充一点:
Id = 0, Language = "En"
Id
为0,因此数据库应为我生成Id
:
Id = 2, Language = "En"
没有办法,我知道我可以自己生成Id
。但是如果两个线程尝试添加具有相同Id的元素会发生什么?我可以阻止这个吗?
答案 0 :(得分:0)
类
[Table("Test")]
class Test
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Key, Column(Order = 0)]
public int Id { get; set; }
[Key, Column(Order = 1)]
public string Language { get; set; }
}
插入录制
using (var db = new TestDbContext())
{
db.Test.Add(new Test { Id = 0, Language = "En" });
db.Test.Add(new Test { Id = 0, Language = "Sb" });
db.SaveChanges();
}
结果
Id语言
1恩
2 Sb
3恩
4 Sb
Rrerence:Entity Framework: how to generate an auto-increment ID field