我使用的是Breeze.js和Entity Framework WebAPI后端,我需要删除一大组没有加载到客户端的数据。我真的很想在服务器上这样做,而不是加载它。
有“微风之路”吗?我指的是BreezeController中的一种方法。
编辑
我必须从一个表中删除属于用户的所有行(其日期字段是将来的),以及它们的所有子行。
发布于 2013-12-03 16:52:38
public override int SaveChanges()
{
foreach (
var entry in
this.ChangeTracker.Entries()
.Where((e => (e.State == (EntityState) Breeze.WebApi.EntityState.Deleted))))
{
if (entry.Entity.GetType() == typeof(User))
{
var entity = entry.Entity as User;
var childEntitiesInFuture = ChildEntities.Where(c => c.DateField > DateTime.Now);
foreach (var child in childEntitiesInFuture){
var grandchildrenForDeletion = Grandchildren.Where(c => c.ChildId == child.Id);
foreach (var g in grandchildrenForDeletion) Grandchildren.Remove(g);
ChildEntities.Remove(child);
}
}
}
}假设您要删除User,一个User在ChildEntities中保存了许多ChildEntity,而每个ChildEntity在Grandchildren中保存了许多Grandchild。有点乱七八糟的名字,但这就是你没有真名的原因:)
此方法将进入上下文类。祝好运。
https://stackoverflow.com/questions/20354259
复制相似问题