Модель сущности ADO.NET и LINQ - PullRequest
2 голосов
/ 24 марта 2010

Я использую модель сущности 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;

Полагаю, я неправильно настроил свою Entity Model в VS2010. Любой совет, который вы можете предложить, будет с благодарностью получен.

Спасибо

Ричард.

1 Ответ

1 голос
/ 24 марта 2010

LINQ to Objects поддерживает запросы, подобные следующему. Попробуйте в LINQ to Entities =)

var accounts = from a in db.Accounts
                 from i in a.Identifiers
                 where i.Identifier == identifier 
               select a; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...