У меня есть одно конкретное представление, созданное в моей базе данных (объединяет около 5-6 таблиц с левым соединением). Это представление добавляется в мой edmx (entity framework 1.0). Недавно я заметил, что одна из записей столбцов, полученных с использованием edmx (linq для сущностей, а затем ToList()), дублируется несколько раз, хотя в представлении базы данных они были разными
Column-N (Expected result/ result from DB view)
---------
data1
data2
data3
data4
data5
Column-N(Actual result generated by entity framework)
---------
data1
data1
data1
data1
data1
Я активировал свой профилировщик SQL, получил запрос, который был отправлен моим приложением на SQL Server, запустил его, и он вернул мне ожидаемый результат.
MSDN имеет аналогичную запись здесь и здесь, но модератор не уточнил, как решить эту проблему. Мой ключ - GUID
Основная причина, по которой вы указали, я думаю правильно, проблема заключается в отображение EF на стороне приложения, поскольку EF различные правила сопоставления объектов с база данных. когда результаты запроса был возвращен из базы данных, EF будет делать сопоставление по заявке памяти в соответствии со своими собственными логика.
Важно принять эту логику учитывайте, когда вы просмотреть запрос в своей базе данных. я подумайте, что вы должны ваш запрос на просмотр.
Я не уверен, что вы отсортировали проблема, если нет, пожалуйста, предоставьте структура базы данных, связанная с этим вопрос и запрос вида, который у вас есть написано.
Спасибо Binze
Кто-нибудь сталкивался с подобной проблемой раньше?