gpt4 book ai didi

sql-server - 什么会导致 linq to sql 认为参数可以为空?

转载 作者:行者123 更新时间:2023-12-03 22:53:40 24 4
gpt4 key购买 nike

我有一个声明输入参数的存储过程

@BatchNumber uniqueidentifier 

表中的这个字段设置为不允许为空。

当我拖入存储过程并将所有内容 Hook 时,它说参数可以为空。

我不明白为什么。它认为参数可以为 null 是否正常?

最佳答案

Sql 中的所有变量都可以为空。无法在 sql 中创建不可为 null 的变量。

 --yup, it's nullable.  even starts initialized to null.
DECLARE @MyVar int

如果您在设计器中更改参数类型,那应该没问题。

映射代码可以有一个non-nullable,交给数据库,数据库会称它为nullable,没有问题。这种情况已经发生在您的查询中的每个不可为 null 的...例如 Where 子句中的不可为 null 的整数 ID。

如果您无法在设计器中设置所需的类型...请按以下步骤操作。获取方法生成的代码并将其从 designer.cs 文件复制到新的分部类定义中。在方法的属性中手动设置类型。从设计器中移除stored proc(此时stored proc是手动添加的)。我们必须使用这种修复方式才能使 OUTPUT 参数起作用。

关于sql-server - 什么会导致 linq to sql 认为参数可以为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2924907/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com