ADO.NET实体模型和LINQ

时间:2010-03-24 09:43:45

标签: c# linq entity-framework ado.net

我正在使用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中正确设置我的实体模型。我们非常感谢您提出的任何建议。

谢谢,

理查德。

1 个答案:

答案 0 :(得分: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;