我是 EF Code First 的新手,遇到了一些麻烦。
这是我的模型
public class User
{
public string Id { get; set; }
public string Name { get; set; }
public virtual Address Address { get; set; }
}
public class Address
{
public string Id { get; set; }
public string Street { get; set; }
public string Nr { get; set; }
}
我想要的是,如果我编写以下代码:
user.Address = null;
应该删除相关的地址(数据库中的记录),但事实并非如此!它仅删除用户表中的外键。另外,当我分配一个新地址时:
user.Address = new Address() { ... };
它在数据库中创建了第二条记录,为什么?
我想:
如果将 null 分配给
user.Address
数据库记录,则应删除如果为其分配一个新的地址对象,
user.Address
则应将现有记录数据替换为新的
我该如何解决这个问题?