2010-03-24 178 views
2

我正在使用一個ADO.NET實體模型,我試圖用LINQ查詢。ADO.NET實體模型和LINQ

我遇到的問題是,我不能指定where子句,因爲我想。例如,考慮以下查詢:

AccountsDM db = new AccountsDM(ConfigurationManager.ConnectionStrings["PrimaryEF"].ConnectionString); 
var accounts = from a in db.Accounts 
       select a; 
foreach (var account in accounts) 
{ 
    foreach (var ident in account.Identifiers) 
    { 
     if (ident.Identifier == identifier) 
     { 
      // ident.Identifier is what I'd like to be filtering in the WHERE clause below 
     } 
    } 
} 

理想情況下,我想,要成爲:

var accounts = from a in db.Accounts 
       where a.Identifiers.Identifier == identifier 
       select a; 

我猜我可能不會在VS2010設置我的實體模型正確。任何建議,你可以提供將感激地收到。

謝謝,

理查德。

+0

當你運行linq版本時會發生什麼? – 2010-03-24 09:55:04

回答

1

LINQ to Objects支持類似下面的查詢。試試LINQ to Entities =)

var accounts = from a in db.Accounts 
       from i in a.Identifiers 
       where i.Identifier == identifier 
       select a; 
+0

這正是我之後的事情 - 現場,謝謝! – Richard 2010-03-24 11:34:32