首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除数据sith Breeze.js而不将其加载到客户端

删除数据sith Breeze.js而不将其加载到客户端
EN

Stack Overflow用户
提问于 2013-12-03 14:47:06
回答 1查看 272关注 0票数 0

我使用的是Breeze.jsEntity Framework WebAPI后端,我需要删除一大组没有加载到客户端的数据。我真的很想在服务器上这样做,而不是加载它。

有“微风之路”吗?我指的是BreezeController中的一种方法。

编辑

我必须从一个表中删除属于用户的所有行(其日期字段是将来的),以及它们的所有子行。

EN

回答 1

Stack Overflow用户

发布于 2013-12-03 16:52:38

代码语言:javascript
复制
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,一个UserChildEntities中保存了许多ChildEntity,而每个ChildEntityGrandchildren中保存了许多Grandchild。有点乱七八糟的名字,但这就是你没有真名的原因:)

此方法将进入上下文类。祝好运。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20354259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档