Невозможно сделать запрос с использованием Entity Framework при отображении нескольких внешних ключей в таблицу - PullRequest
0 голосов
/ 06 апреля 2011

Это не дубликат этого поста , хотя название несколько схоже, и я позаимствовал немного языка и пример схемы.Я также использую EF4 с MSSQL 2008 SP1 на VS2010.

Упрощенная версия моей схемы выглядит следующим образом:

Table [Team]:
  Id (PK)
  Member1
  Member2

Table [Person]:
  Id (PK)
  FirstName

[Team].Member1 и [Team].Member2 - внешние ключи, указывающие на [Person].Id.

Фреймворк генерирует просто отлично (из схемы базы данных), но когда я делаю простой запрос LINQ на клиенте, я получаю исключение при расширении набора результатов в отладчике.

Вот запрос LINQ:

var teamResult = from t in context.Team select t;

Я могу просто запросить Person:

var personResult = from p in context.Person select p;

Вот детали исключения (боюсь, не очень полезные):

[System.InvalidOperationException] “An error occurred while processing this request.”
[System.SystemException] “An error occurred while processing this request.”
[System.Exception] “An error occurred while processing this request.”

InnerException = 
  <?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>
  <error xmlns=\"http://schemas.microsoft.com/ado/2007/08/dataservices/metadata\">
    <code></code>
    <message xml:lang=\"en-US\">An error occurred while processing this request.</message>
    ...
  </error>

Вот трассировка стека:

at System.Data.Services.Client.QueryResult.Execute()
at System.Data.Services.Client.DataServiceRequest.Execute[TElement](DataServiceContext context, QueryComponents queryComponents)

Кстати, устранение отношений между внешними ключами между двумя сущностями "исправило" проблему, но, очевидно, не является решением.

Запросы с использованием T-SQL прекрасно работают в SQL Server.

Может быть, я что-то упустил?

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...