次のLINQtoEntities式があります。
var allItemsOver64 =
_inventoryContext.Items.Where(
i => DateTimeHelper.CalculateAgeInYears(i.PrimaryInsured.DoB, now) >= 65);
問題は、allItemsOver64を使用すると、この式がサポートされていないと表示されることです。このエラーは、CalculateAgeInYearsメソッドの呼び出しが原因で発生しているように感じます。なぜこれが起こっているのですか、どうすれば修正できますか?
ありがとう、
サチン
編集:
IEnumerablesを使用するようにコードを変更した後でも、同じエラーが発生します。これが私のコードです:
DateTime now = DateTime.UtcNow;
var allItemsOver64 =
_inventoryContext.Items.Where(
i => DateTimeHelper.CalculateAgeInYears(i.PrimaryInsured.DoB, now) >= 65).AsEnumerable();
IEnumerable<Item> items65To69 = allItemsOver64.Where(
i =>
DateTimeHelper.CalculateAgeInYears(i.PrimaryInsured.DoB, now) >= 65 &&
DateTimeHelper.CalculateAgeInYears(i.PrimaryInsured.DoB, now) <= 69).AsEnumerable();