首页 / 知识
关于orm:C#数据库访问:DBNull与null
2023-04-12 07:37:00

C# Database Access: DBNull vs null我们在这里使用自己的ORM,并为所有数据库表提供强类型package器。我们还允许执行弱类型的即席SQL,但是这些查询仍然要经过同一类才能从数据读取器中获取值。 在调整该类以使其与Oracle配合使用时,我们遇到了一个有趣的问题。使用DBNull.Value还是null更好?使用DBNull.Value有什么好处?使用null似乎更"正确",因为我们已经将自己与数据库世界分开了,但是有一定的含义(例如,当一个值为null时,您不能盲目地 我发现最好使用null而不是DB null。 原因是因为,正如您所说,您正在将自己与数据库世界分开。 通常最好的做法是检查引用类型,以确保它们都不为空。您将要检查DB数据库数据以外的其他内容是否为null,我发现最好保持整个系统的一致性,并使用null,而不是 从长远来看,从结构上看,我认为它是更好的解决方案。 如果您已经编写了自己的ORM,那么我会说只使用null,因为您可以根据需要使用它。我相信DBNull最初仅用于解决以下事实:值类型(int,DateTime等)不能为null,因此,它返回的值不为零或DateTime.Min,这意味着存在null(坏,坏) ),他们创建了DBNull来表明这一点。也许还有更多,但我一直认为那是原因。但是,由于我们在C#3.0中具有可为空的类型,因此不再需要DBNull。实际上,LINQ to SQL仅在整个地方都使用null。没问题。拥抱未来...使用null。 ;-) 根据我的经验,.NET DataTables和TableAdapters与DBNull更好地协同工作。在强类型化时,它还会打开一些特殊方法,例如在适当位置时使用DataRow.IsFirstNameNull。 希望我能给您一个更好的技术答案,但是对我来说,最重要的是在处理与数据库相关的对象时使用DBNull,然后在处理对象和.NET时使用"标准" null相关代码。 使用 |
最新内容
相关内容
python怎么执行命令
python怎么执行命令,代码,环境,培训,系统,工作,命令,路径,操作系统,程序,空格,Python的命令提示符是在操作系统中,提示进行命令输入的一种工作pythonPython是强类型还是弱类型
pythonPython是强类型还是弱类型,培训,代码,标准,类型,语言,变量,脚本语言,解释性,动态,赋值,python是强类型的动态脚本语言。强类型:不允许不python怎么在python3执行pip
python怎么在python3执行pip,培训,预计,情况,脚本,版本,以下,版本号,主角,命令,声明,python3是目前比较流行的Python版本,而且Python官方团队python循环执行语句怎么写
python循环执行语句怎么写,培训,项目,语句,条件,序列,双数,括号,后跟,字符串,语法,python编程中while语句用于循环执行程序,即在某条件下,循环python程序执行完不自动退出
python程序执行完不自动退出,培训,程序,语句,里加,脚本,命令,关键,文件,控制台,函数,默认情况下,python执行完成后会直接退出。如果还想查看运python如何执行python程序
python如何执行python程序,系统,代码,名称,培训,平台,语句,模式,结果,提示符,命令,安装完Python在Windows或Linux中的终端中直接输入python即python如何执行python文件
python如何执行python文件,代码,培训,文件,程序,命令,模式,事半功倍,后缀,文本,以上,用文本编辑器写Python程序,然后保存为后缀为.py的文件,就python怎么执行.py文件
python怎么执行.py文件,培训,位置,代码,文件,空格,路径,文件名,时候,右侧,单击,要运行一个已经编写好的.py文件,可以单击开始菜单,在“搜索程序pythonfinal作用域的代码一定会被
pythonfinal作用域的代码一定会被执行吗?,代码,培训,异常,流程,作用,函数,上面,以上,需求,发生,python在正常的情况下,finally作用域的代码一pythonos.system执行cmd指令
pythonos.system执行cmd指令,培训,状态,高位,号码,低位,指令,脚本,内容,控制台,实例,pythonos.system执行cmd指令1、执行cmd指令,在cmd输出的关于c#:强制执行所需的函数调用
关于c#:强制执行所需的函数调用,关于c#:强制执行所需的函数调用,状态,我在,中有,用法,Enforcing required function call我在C#中有一个"关于mysql:如何选择SQL数据库表中的
关于mysql:如何选择SQL数据库表中的第n行?,关于mysql:如何选择SQL数据库表中的第n行?,数据库,选择,数据库表,学习,How to select the nth