首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在EntityObject中查询

在EntityObject中查询
EN

Stack Overflow用户
提问于 2011-12-12 21:12:48
回答 1查看 26关注 0票数 0

我有带有部分方法OnActualVolumeChanging(double Value)的分部类TaxReportItem:

代码语言:javascript
复制
public partial class TaxReportItem 
{
      partial void OnActualVolumeChanging(double value)
     {
        if (Tax != null)
        {
            Payment = value*Tax.TaxRate;
        }
    }
}

在此方法中,我希望获得上下文中存在的所有TaxReportItems集合(如下所示):

代码语言:javascript
复制
  partial void OnActualVolumeChanging(double value)
    {
        var sum = 0.0;
        if (Tax != null)
        {
            Payment = value*Tax.TaxRate;

            foreach (var taxReportItem in ????)
            {
                sum += taxReportItem.Sum;
            }
        }
    }

我如何才能做到这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-12 21:32:00

这实际上是相当困难的,因为你永远不应该需要它。如果你需要这样做,你的实体对象的设计是错误的,它正在做一些应该在其他地方完成的事情。单个TaxReportItem永远不需要知道其他税务报表项并从数据库中加载它们,除非其他项依赖于此项(它们形成一个聚合)。在这种情况下,您应该拥有主体项中依赖项的导航属性。

来回答你的问题。如果您需要加载其他项,则必须具有上下文的实例才能执行此操作。您可以获取instance used to load current item并使用它来加载其他实体(糟糕的解决方案),或者您可以创建上下文的新实例并使用它来加载其他实体(更糟糕的解决方案)。

正如你从链接的文章中看到的,从实体本身获取当前上下文实例并不容易,而且它有一些先决条件,这可以追溯到第一段。这很难,因为这是错误的方法。

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

https://stackoverflow.com/questions/8474873

复制
相关文章

相似问题

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