数据库
首页 > 数据库> > LINQ to SQL查询返回重复项

LINQ to SQL查询返回重复项

作者:互联网

我有一个Premiums表,我尝试使用以下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'

如预期的那样,此查询直接运行时将返回两行.它还会导致两个LINQ to SQL实体,但是,这两个实体中的数据只是SQL查询结果中第一行的重复.为什么会这样呢?

解决方法:

不确定这是否有帮助,但是如果您还没有这样做,请尝试为该表提供专用的唯一标识列并将其设置为主键.确保您的LINQ-TO-SQL定义了解主键列.

标签:linq-to-sql,linq,sql,c
来源: https://codeday.me/bug/20191202/2086214.html