我有很多Accounts
,每個帳戶也可以有子帳戶。因此,我知道一個帳戶是否爲root的方式歸功於ParentId
屬性中的值。
所以,事實證明,我的代碼有這樣的東西在很多地方:.Where(acc => acc.ParentId == 0)
所以我認爲有關創建看起來像這樣的屬性:簡化此屬性以用於謂詞
public bool IsRootAccount
{
return a.ParentId == 0;
}
看來工作,它編譯,但在運行時我得到但以下情況除外:
Load operation failed for query 'GetAccounts'. The specified type member 'IsRootAccount' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported.
有一個簡單的方法可以讓我實現我想要什麼?
我也想過創造一些東西,會返回一個沒有運氣的Expression<Func<Account, bool>>
。
編輯:我爲IsRootAccount
財產嘗試是爲了使用這樣的.Where(acc => acc.IsRootAccount)
「IsRootAccount」的返回類型與返回的值('bool'!= lambda)不匹配。 – 2012-03-09 00:17:51
謝謝,我解決了它...我從一個不同的屬性複製:) – sebagomez 2012-03-09 00:26:14
你也可以告訴我們你試圖建立的查詢消耗這個屬性?我懷疑你可以做到你想要的東西,但我們可能會提出一些替代解決方案。 – 2012-03-09 00:31:49