ECC*_*Dan 8 .net c# entity-framework entity-framework-6
鉴于这个简单的模型:
public partial class UserColumnGrid
{
public int UserColumnGridID { get; set; }
public int UserID { get; set; }
public int ColumnGridID { get; set; }
public int ColumnWidth { get; set; }
public bool IsVisible { get; set; }
public virtual ColumnGrid ColumnGrid { get; set; }
public virtual User User { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
而这个简单的查询:(userID是一个int)
dbContext.UserColumnGrid.Where(ucg => ucg.UserID == userID).ToList();
Run Code Online (Sandbox Code Playgroud)
生成以下查询:
SELECT [Extent1].[UserColumnGridID] AS [UserColumnGridID],
[Extent1].[UserID] AS [UserID],
[Extent1].[ColumnGridID] AS [ColumnGridID],
[Extent1].[ColumnWidth] AS [ColumnWidth],
[Extent1].[IsVisible] AS [IsVisible]
FROM [dbo].[UserColumnGrid] AS [Extent1]
WHERE ([Extent1].[UserID] = 1 /* @p__linq__0 */)
AND (1 /* @p__linq__0 */ IS NOT NULL)
Run Code Online (Sandbox Code Playgroud)
为什么添加了这个AND NOT NULL标准?数据库不允许该字段中的空值,并且.net中的int不能为null
这种情况发生在我的查询中.这很烦人,但是它会影响性能吗?
我怎么能摆脱它?
这是在数据库优先模型上.