У меня есть следующий оператор выбора, который выглядит синтаксически правильным:
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);
Однако, это выдает:
Only parameterless constructors and initializers are supported in LINQ to Entities.
Я попытался добавить класс "строитель", чтобы вернутьновый ImporterAccount, но это тоже не сработало, на этот раз с:
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, когда класс не является частью моей модели сущности?
Как я могу вернуть новый объект и выполнить для него вычисления?