LINQ to SQL запрос, возвращающий дубликаты - PullRequest
3 голосов
/ 03 ноября 2011

У меня есть таблица Premium, которую я пытаюсь запросить, используя следующий LINQ-to-SQL:

var premiums = sourcePolicyContext.Premiums.Where(prm => prm.Policy_Number == "07748106");

Это запускает следующий SQL-запрос к базе данных:

exec sp_executesql N'SELECT [t0].[Policy Number] AS [Policy_Number], ' + 
                           '[t0].[PremiiumType] AS [Premiium_Type], [t0].[Number], ' +
                           '[t0].[Effective Date] AS [Effective_Date], ' + 
                           '[t0].[Entry Date] AS [Entry_Date], ' +
                           '[t0].[Collision Premium] AS [Collision_Premium], ' +
                         '[t0].[Non Collision Premium] AS [Non_Collision_Premium], ' +
                           '[t0].[Tow Premium] AS [Tow_Premium], ' +
                      '[t0].[Other Coverage1 Premium] AS [Other_Coverage1_Premium] ' +
                    'FROM [dbo].[Premium Table] AS [t0]' +
                    'WHERE [t0].[Policy Number] = @p0', 
                   N'@p0 nvarchar(4000)',
                     @p0=N'07748106'

Thisзапрос возвращает две строки при запуске напрямую, как и ожидалось.Это также приводит к двум сущностям LINQ to SQL, однако данные в этих двух сущностях являются просто дубликатами первой строки в результатах SQL-запроса.Почему это может происходить?

1 Ответ

3 голосов
/ 03 ноября 2011

Не уверен, поможет ли это, но если вы этого еще не сделали, попробуйте дать таблице выделенный столбец уникальных идентификаторов и установите его в качестве первичного ключа.Убедитесь, что ваши определения LINQ-TO-SQL знают о столбце первичного ключа.

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