Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 <;列>;为空vs<;列>;=LINQ到SQL生成的SQL中的NULL_Sql Server 2005_Linq To Sql_Null - Fatal编程技术网

Sql server 2005 <;列>;为空vs<;列>;=LINQ到SQL生成的SQL中的NULL

Sql server 2005 <;列>;为空vs<;列>;=LINQ到SQL生成的SQL中的NULL,sql-server-2005,linq-to-sql,null,Sql Server 2005,Linq To Sql,Null,在ASP.NET MVC 2.0中,我做了如下操作(具体地说,基于一些值以及一些空值匹配记录) …返回null。我知道记录存在,但生成的SQL(如果打开SQL日志记录)是 实际上,它将不返回任何内容,因为与=NULL的比较将不返回任何匹配项。我的想法是,这将生成一个空值(这非常有效)。像这样 ... ([t0].[project_id] IS NULL) AND ([t0].[expiration_date] IS NULL) 我在这件事上遗漏了什么?我相信我可以在SQL Server中启用A

在ASP.NET MVC 2.0中,我做了如下操作(具体地说,基于一些值以及一些空值匹配记录)

…返回
null
。我知道记录存在,但生成的SQL(如果打开SQL日志记录)是

实际上,它将不返回任何内容,因为与=NULL的比较将不返回任何匹配项。我的想法是,这将生成一个空值(这非常有效)。像这样

...
([t0].[project_id] IS NULL) AND ([t0].[expiration_date] IS NULL)
我在这件事上遗漏了什么?我相信我可以在SQL Server中启用ANSI_NULLS,但这是不推荐的,必须有一种更简单的方法


我知道,我知道。。。我不应该用空值定义唯一性,但有没有办法解决这个问题?

使用
object.equals
帮助确保查询返回空值

将可空项的位置更改为
((变量==null&&x.column==null)| |(x.column==variable))


您确定这不是Linq to SQL吗?它的工作方式很有魅力object.Equals()感觉有点笨重,但它比其他任何东西都好。同样,要求空值唯一性的情况很少见。非常感谢!
SELECT [t0].[id], [t0].[part_id], etc...
FROM [dbo].[Inventory] AS [t0]
INNER JOIN [dbo].[Parts] AS [t1] ON [t1].[id] = [t0].[part_id]
WHERE ([t0].[part_id] = @p0) AND (([t0].[location_id]) = @p1) AND ([t0].[bin_id] = @p2) AND
([t0].[project_id] = @p3) AND ([t0].[expiration_date] = @p4)
-- @p0: Input BigInt (Size = 0; Prec = 0; Scale = 0) [5197]
-- @p1: Input BigInt (Size = 0; Prec = 0; Scale = 0) [57]
-- @p2: Input BigInt (Size = 0; Prec = 0; Scale = 0) [71]
-- @p3: Input BigInt (Size = 0; Prec = 0; Scale = 0) [Null]
-- @p4: Input DateTime (Size = 0; Prec = 0; Scale = 0) [Null]
...
([t0].[project_id] IS NULL) AND ([t0].[expiration_date] IS NULL)