Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.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
C# 实体框架代码优先:创建新用户后重复密钥_C#_Asp.net Mvc_Entity Framework - Fatal编程技术网

C# 实体框架代码优先:创建新用户后重复密钥

C# 实体框架代码优先:创建新用户后重复密钥,c#,asp.net-mvc,entity-framework,C#,Asp.net Mvc,Entity Framework,我有一个类,我首先插入Seed()方法来注册,用户已经有了一个组合框,里面填充了必要的和唯一的Caunties,然后他们的名字就是Id本身 重复密钥问题发生在我输入一个用户时,该用户反过来有一个地址,该地址有城市,该城市与县有关系,要插入(UserManager.CreateAsync()标准Asp.Net MVC设计方法,实现IdentityUser等),我会得到一个错误,因为我没有使用AddOrUpdate()它尝试用此键插入一个新的 我如何解决这个问题?我需要为这个模型设置始终为AddOr

我有一个类,我首先插入Seed()方法来注册,用户已经有了一个组合框,里面填充了必要的和唯一的Caunties,然后他们的名字就是Id本身

重复密钥问题发生在我输入一个用户时,该用户反过来有一个地址,该地址有城市,该城市与县有关系,要插入(UserManager.CreateAsync()标准Asp.Net MVC设计方法,实现IdentityUser等),我会得到一个错误,因为我没有使用AddOrUpdate()它尝试用此键插入一个新的

我如何解决这个问题?我需要为这个模型设置始终为AddOrUpdate()


AddOrUpdate()和Insert之间有什么区别?你指的是同样的方法吗?您所说的ID是什么意思?@KosalaW Insert将仅插入。AddOrUpdate检查是否有更新,否则插入新记录。这是代码重复。您只需要
AddOrUpdate
方法。“完全不需要插入。@KosalaW是的,这是我在问题中说的,我不能插入新的。但我不知道如何只发送更新县,因为县是一个城市属性,是一个由用户拥有的地址属性。@KosalaW再次看到问题,插入一个代码示例。”
    public class ApplicationUser : IdentityUser
    {
        [Required]
        public virtual Address Address { get; set; }
    }

    public class Address
    {
        [Required]
        public virtual City City { get; set;}
    }

    public class City
    {
        [Required]
        public virtual County County { get; set;}
    }

    public class County
    {
        [Key]
        public string NameId { get; set;}
    }