Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 数据库首先没有来自数据库的主键_Entity Framework - Fatal编程技术网

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。谢谢你,彼得