【发布时间】:2013-12-25 07:39:38
【问题描述】:
这里显示了两个模型:
public class Application
{
public string Name { get; set; }
public virtual ICollection<ApplicationTransaction> ApplicationTransactions { get; set; }
}
和
public class ApplicationTransaction
{
public long ApplicationId { get; set; }
public virtual Application Application { get; set; }
}
我尝试使用此代码删除 Application 中的所有 ApplicationTransaction:
var app = _repository.Get<Application>(i => i.Id == 1);
app.ApplicationTransactions.Clear();
Context.SaveChanges();
但是当上下文去保存更改时,会发生错误:
操作失败:无法更改关系,因为 一个或多个外键属性不可为空。当一个 对关系进行更改,相关的外键属性是 设置为空值。如果外键不支持空值, 必须定义一个新的关系,外键属性必须是 分配了另一个非空值,或者不相关的对象必须是 已删除。
【问题讨论】:
-
代码中显示的模型与 db 不同,我知道。我显示模型简介
标签: c# entity-framework ef-code-first