对UserManager.CreateAsync上的关系栏错误的Foo角色的冲突更改

时间:2014-02-22 19:57:52

标签: c# entity-framework-6

好的,我看到了一些关于实体框架的其他问题“Foo对关系栏角色的冲突变化”错误,所有答案似乎都围绕着改变与数据库交互的代码。

我不能这样做,因为我在 UserManager.CreateAsync 上收到此错误,所以我需要更改我的模型。

确切的错误消息如下:

  

已检测到与“Myproject.Models.ApplicationUser_Customer”关系的“ApplicationUser_Customer_Target”角色发生冲突更改。

好的,这里是ApplicationUser:

public class ApplicationUser : IdentityUser
{
    private CustomerModel _customer;

    public CustomerModel Customer
    {
        get
        {
            return _customer ?? new CustomerModel();
        }
        set { _customer = value; }
    }
}

这是CustomerModel:

public sealed class CustomerModel
{
    public string Id { get; set; }
}

我为此创建了一个迁移,并使用 Updte-Database 方法更新了数据库。

以下是SQL Server Management studio的屏幕截图:

Screenshot Showing Relationship

我对此完全感到困惑,我在这里做错了什么?

由于

1 个答案:

答案 0 :(得分:0)

在我提出这个问题之前,我挣扎了一个小时,然后我立即解决了。

要使代码的另一部分工作,如果ApplicationUser中的私有支持字段为null,则返回 Customer 的实例。

这导致 CreateUser 方法崩溃并死亡。