【发布时间】:2017-01-30 13:24:46
【问题描述】:
基于来自here 的信息。
我发现了如何使用 Entity Framework 删除孤儿。
public void SaveChanges()
{
context.ReportCards
.Local
.Where(r => r.Student == null)
.ToList()
.ForEach(r => context.ReportCards.Remove(r));
context.SaveChanges();
}
我想知道如何为这部分制作通用函数,因为它可能会经常使用:
context.ReportCards
.Local
.Where(r => r.Student == null)
.ToList()
.ForEach(r => context.ReportCards.Remove(r));
我想过这样的事情:
public void SaveChanges()
{
RemoveOrphans(Student, ReportCards)
context.SaveChanges();
}
private void RemoveOrphans<T>(T sourceContext, T orphan)
{
context.orphan
.Local
.Where(r => r.sourceContext == null)
.ToList()
.ForEach(r => context.orphan
.Remove(r));
}
但它当然行不通。有什么建议吗?
【问题讨论】:
-
对于
Where部分,只需传入Predicate -
你可能想使用
context.Set<T>。
标签: c# entity-framework linq generics