好的,我看到了一些关于实体框架的其他问题“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的屏幕截图:
我对此完全感到困惑,我在这里做错了什么?
由于
答案 0 :(得分:0)
在我提出这个问题之前,我挣扎了一个小时,然后我立即解决了。
要使代码的另一部分工作,如果ApplicationUser中的私有支持字段为null,则返回 Customer 的实例。
这导致 CreateUser 方法崩溃并死亡。