因此,我有一个场景,我有一个机会表,其中有客户参考和客户ID。和对ProjectManager的表有引用的Customer表。现在,我有了opportunityId,使用该id我需要获取项目经理的信息。下面是我的工作代码,
public async Task<Object> GetProjectManagerIdAgainstCustomer(int? opportunityId)
{
var customerId = await _context.Opportunities.Where(Opportunity => Opportunity.Id == opportunityId).Include(Opp => Opp.Customer).Select(Opp=>Opp.CustomerId).FirstOrDefaultAsync();
var ProjectManager = await _context.Customers.Where(Customer => Customer.Id == customerId).Include(Customer => Customer.ProjectManager).Select(x => new {
email = x.ProjectManager.ProjectManagerEmail,
fullname = x.ProjectManager.ProjectManagerName,
}).FirstOrDefaultAsync();
return (ProjectManager);
}
现在,我的一个问题是,这两个查询对数据库进行了两次访问,这就把我带到了问题的主要目的,如何优化它,使所有这些都能在一次访问中完成,如果你们能在这段代码中找到任何其他问题,那就太好了?另外,有任何相关的文档也会有很大的帮助。其次,是否有任何方法可以在附加的Customer对象中获取ProjectManager对象,例如。通过使用include?
看起来您正在寻找一个连接操作。试一下这里的说明:https://docs.microsoft.com/en-us/dotnet/cssharp/linq/perform-inner-joins
使用它,您可以创建一个联接查询,该查询将在数据库上执行,并且您将只接收最终输出。
问题内容: 我不应该能够调用实例化对象的私有方法。我想知道为什么下面的代码有效。 我知道可以从类中访问私有方法。但是,如果类中的方法实例化了同一类的对象,则作用域规则是否不适用于该实例化的对象? 如本例所示,像main这样的静态方法可以访问类的非静态成员吗? 问题答案: 您的方法是的方法,因此可以调用的私有方法。 只是因为它是一个方法并不妨碍它表现得像为目的的方法,等等。 只是阻止的方法 等
问题内容: 我想知道是否可以实现任何其他优化来提高Java中反射调用的速度。并不是说性能会令人望而却步,而是当我想到我正在编写的某个库中的某些代码是在某个地方的紧密循环中实现时,我会大为惊讶。 考虑一种实用方法来进行反射性调用: 基本操作是 作为性能优化,我使用目标对象的类,方法名称和签名(其代码可能需要一些改进)的哈希值来缓存该方法,但是除此之外,我还能做其他事情吗?我听说过一些有关 Invok
问题内容: 我有一个使用XML和反射将 s 返回到另一个类的类。 通常,这些对象是外部对象的子字段,但有时我想即时生成它。我已经尝试过类似的方法,但无济于事。我相信这是因为Java不允许你访问进行反射的方法。 如果提供的方法失败,则失败。我可以通过制作方法来解决它,或者制作另一个类来派生它。 长话短说,我只是想知道是否存在一种通过反射访问方法的方法。 问题答案: 你可以使用反射调用私有方法。修改已
本文向大家介绍topic的分区数可不可以减少?如果可以怎么减少?如果不可以,那又是为什么?相关面试题,主要包含被问及topic的分区数可不可以减少?如果可以怎么减少?如果不可以,那又是为什么?时的应答技巧和注意事项,需要的朋友参考一下 不可以减少,被删除的分区数据难以处理。
问题内容: .NET 3.5,C# 我有一个具有“搜索”功能的网络应用程序。可搜索的某些字段是表中的第一类列,但实际上其中一些是XML数据类型内的嵌套字段。 以前,我构建了一个用于动态构造用于搜索的SQL的系统。我有一个很好的类层次结构,可以构建SQL表达式和条件语句。唯一的问题是它不受SQL注入攻击的威胁。 我正在阅读Rob Conery的精彩文章,该文章指出,如果从未枚举IQueryable结