我有部分类TaxReportItem和部分方法OnActualVolumeChanging(double value):

public partial class TaxReportItem 
{
      partial void OnActualVolumeChanging(double value)
     {
        if (Tax != null)
        {
            Payment = value*Tax.TaxRate;
        }
    }
}

在这种方法中,我想获取上下文中存在的TaxReportItems的所有集合(类似这样):

  partial void OnActualVolumeChanging(double value)
    {
        var sum = 0.0;
        if (Tax != null)
        {
            Payment = value*Tax.TaxRate;

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

我怎样才能做到这一点?

===============>>#1 票数:1 已采纳

这实际上很难,因为您永远不需要它。 如果您需要这样做,则您的实体对象的设计是错误的,它正在执行某些应在其他地方执行的操作。 单个TaxReportItem永远不需要了解其他税收报告项目并从数据库中加载它们,除非其他项目依赖于此项目(它们构成一个汇总)。 在这种情况下,您应该对主体项中的从属项具有导航属性。

按照您的问题。 如果您需要加载其他项目,则必须具有上下文实例才能执行此操作。 您可以获取用于加载当前项目的实例并使用它加载其他实体(糟糕的解决方案),也可以创建上下文的新实例并使用它来加载其他实体(甚至更差的解决方案)。

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

  ask by Alex translate from so

未解决问题?本站智能推荐:

3回复

从列表中投射 到EntityObject

我的代码如下。 我知道这会导致错误,因为在我传递List <>时,AddToAuthors(Author newAuthor)接受实体对象作为参数。 那么应该如何处理呢? 如何在AddToAuthors()之前将List <>强制转换为实体对象?
2回复

如何从EF模型中获取EntityObject的列表

我需要能够迭代EF模型中的EntityObjects列表。 例如.. 从我所看到的模型上下文没有这样的公共枚举器。 有人这样做过吗?
2回复

如何在Visual Studio 2015中添加EntityObject Generator?

我已经在VS2015中安装了最新的实体框架版本(EntityFramework.6.1.3)。 我在项目中添加了EF,并从DBContext中删除了2个.tt文件( edmx_file_name.tt和edmx_file_name.Context.tt )。 现在,我试图通过在EF设计器
1回复

C#实体框架:将EntityObject查询结果作为JSON返回给ajax

检索查询结果后,我想将其作为ajax调用的json返回。 我可以实现,但是我正在寻找一种更清洁的方法。 我的SQL Server和C#实体对象模型中有一个名为Sample的表。 以下代码段从Sample表中获取一行,并将其返回给服务,该服务假定将它作为json返回给客户端。 A
1回复

实体框架(实体从EntityObject到DTO,然后又到EntityObject)是否可以在此时轻松地在db中更新它?

我认为我的整个问题都在标题栏中=]内,但我将解释更多。 我在数据库中有2个相关表(客户和订单)和wcf服务,它以DTO的形式返回客户和所有相关订单,如下所示: CustomerDto类 { int ID; IList <OrderDto>订单; }
1回复

EntityObject.Remove()不会从数据库中删除记录

我是Entity Framework 4的新手。 我的项目包括一个WebApplication&ClassLibrary项目。 我必须使用ADO.Net POCO实体生成器,因为在ClassLibrary项目中,我有多个edmx文件,并且它们之间具有某些通用模型。 在edmx中,我
1回复

c#linq从IQueryable列表中搜索EntityObject值

我有一个IQueryable<string>列表和EF从db从EF创建的EntityObject。它具有几个属性,其中一个是property(名称为SubmittedID)持有这样的值-“ MC535、3782、3781”-用逗号分隔。 我试图正确解析值之后,在EntityOb
1回复

意外的EntityObject错误

我有以下代码: 但是我不知道为什么会出现这些错误: 如何解决这些错误?
1回复

返回一个EntityObject使用

我不确定是否应该直接使用EntityObject ,还是应该使用som包装器方法来选择,更新和删除EntityObjects? 我想使用最后一个选项,但是我真的无法弄清楚如何返回EntityObject (因此我仍然可以调用context.SaveChanges(); ),而不是例如List&
1回复

集成其EntityObject和EntityModel

我有实体对象,例如:从EF自动生成的文章。 如果我将通过以下方式创建模型(用于创建,请编辑实体对象): 在“创建,编辑”操作中,我将设置模型中实体的每个属性。 通常,我使用以下类来实现从模型到实体的自动设置属性以及从实体到模型的自动加载属性: 这样,如果模型是从EntityM