Entity framework 数据库首先没有来自数据库的主键
我首先使用数据库构建我的Entity framework 数据库首先没有来自数据库的主键,entity-framework,Entity Framework,我首先使用数据库构建我的DataContext,我有这个实体: public partial class Salutation { public int Id { get; set; } public string SalutationShort { get; set; } public string SalutationLong { get; set; } public string LetterSalutation { get; set; } } 我是这样用
DataContext
,我有这个实体:
public partial class Salutation
{
public int Id { get; set; }
public string SalutationShort { get; set; }
public string SalutationLong { get; set; }
public string LetterSalutation { get; set; }
}
我是这样用的:
var s = new Salutation()
{
SalutationShort = "Mr.",
LetterSalutation = "Mister"
};
context.Salutations.Add(s);
var xx = context.SaveChanges();
问题:我无法强制数据库生成有效的Id
第一次尝试将“0”作为主键,后续调用将导致错误,因为“0”已在使用中
我错过什么了吗
顺便问一下,有什么原因吗
protected override void OnModelCreating(DbModelBuilder modelBuilder)
不是叫
谢谢
彼得检查你的模型。Id是EntityKey吗?嗨,你在说数据库吗?是的,Id是主键。如果你说的是POCO,我找不到一种方法来定义Id为EnitiyKey谢谢Peter如果你看一下你的edmx,Id是否标记为EntityKey?你可以检查你是否右键点击它并选择属性。嗨,我检查过了。Id标记为EntityKey,StoreGeneratedPattern=IdentitysResolved,未设置SQLServer中的AutiIncrement。谢谢你,彼得