我有出现语法正确以下select语句:如何使用LINQ/Linq2E返回具体类型的新对象?
var accounts = from i in db.IRSBASEFLs
join vr in db.VSARules on i.VSACode equals vr.VSACode into rules
from rule in rules.DefaultIfEmpty()
select new ImporterAccount(i, rule, RuleType.Liquidity);
然而,这将引发:我已经尝试添加一个“建设者”类返回一个新的ImporterAccount
Only parameterless constructors and initializers are supported in LINQ to Entities.
,但这太失败了,这次使用:
LINQ to Entities does not recognize the method 'IrsalDAL.ImporterAccount CreateImporterAccount(IrsalDAL.IRSBASEFL, IrsalDAL.VSARule, IrsalUtilities.RuleType)' method, and this method cannot be translated into a store expression.
我需要进行计算,最好是在构造函数中,所以我以一个有点困惑如何实现这一目标?
为什么当类不是我的实体模型的一部分时,会抛出一个L2E异常?
如何返回一个新对象并对其进行计算?
谢谢,但是我得到“已经有一个打开的DataReader与此命令关联,必须先关闭”? – BlueChippy
这似乎是一个单独的问题。我编辑了我的答案,并提供了一个可能的解决方案的链接。 –
收到你的答案,虽然我实际上首先将所有内容都返回到anonymouse类型,然后从中选择以解决第二个问题(这是延迟加载和多个结果集) – BlueChippy