我是實體框架和LINQ的新手,已經遇到了一個相當奇怪的場景。實體框架:數據庫更新後,LINQ Include()不起作用,爲什麼?
我一直在使用下面的查詢返回的帳戶信息:
var account = ((from acct in _entities.Account
join m in _entities.Item on acct.Id equals m.Account.Id
where acct.Id == accountId && m.ItemNumber.EndsWith(itemNumber)
select acct) as ObjectQuery<Account>).Include("Item.ItemDetails");
我們最近做了一些改動到數據庫,並生成一個新的EDMX文件。更改後,上述查詢仍然返回該帳戶和關聯的項目,但ItemDetails不再包含在內。
我已驗證查詢返回的SQL,並且在返回正確的數據時似乎沒有任何問題。
此外,我沒有看到在Item和ItemDetails對象之間的edmx文件中有不同的anthing,因爲它們沒有改變,導航屬性也在那裏。
有沒有人見過這個?
感謝
除了可讀性,並查詢有超過海報的什麼優勢? – mlsteeves 2010-01-25 20:31:23
我認爲這種方式有相同的結果: 從_entities.Account.Include( 「項目」),ACCT包括( 「Item.ItemDetails」) 其中acct.Id ==帳戶ID && m.ItemNumber.EndsWith(itemNumber。 ) 選擇acct; – 2010-01-28 17:10:12
我想測試這個....記住有一個奇怪的行爲與包括和加入:) – SDReyes 2010-02-23 13:23:17