У меня есть таблица 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-запроса.Почему это может происходить?