この問題に対する最善の解決策をStackoverflowで検索してきました:
「指定された型メンバー 'Income' は、LINQ to Entities ではサポートされていません。初期化子、エンティティ メンバー、およびエンティティ ナビゲーション プロパティのみがサポートされています。」
データセット全体をメモリにコピーして操作することは避けたいです。私が現在使用しているコードは、AsEnumerable の使用 (ローカル メモリへのコピー) を避けたい場合に、次のようになります。
from refs in entities.ReferralSet
where refs.ReferralSince >= fromDate
&& (refs.ReferralTill ?? DateTime.Today) <= toDate
select refs).AsEnumerable().Sum(o => o.Income
使用される収入コード:
public double Income
{
get
{
MembershipType type = /* bla bla bla */
return Click.Count * CalculateBAL.ReferralEarningClick(type);
}
}
データベース列にマップされていないプロパティを使用できないことはわかっています。では、データセット全体をメモリにコピーせずにこの問題を回避する最善の方法は何でしょうか?
情報が不足している場合や、さらに説明が必要な場合は、お気軽にお問い合わせください。
前もって感謝します