当前位置:  开发笔记 > 编程语言 > 正文

如何在数据访问层(C#)中表示空值

如何解决《如何在数据访问层(C#)中表示空值》经验,为你挑选了1个好方法。

只是想知道DAL是否有任何最佳实践来表示空值(来自可空列).

我们目前拥有自己的内部DAL,并使用int.MinValue表示null值.然而,这种上升令开发人员认为在比较值时,我们故意在int.MinValue上强加另一个"添加"值,并且在DAL层中将int.MinValue用于空值这一事实令人困惑.所以其他人提出了来自.net 2.0的NullValue,但我们发现这种方法也存在性能和语法问题:

zorched.net:.NET可空类型和DBNull暴露设计缺陷

BCL团队博客:Nullable Performance

megasolutions.net:带有可选参数的Web服务

dotnet2themax.com:C#可空类型的行为不一致

那么,你对此有何看法?其他着名的ORM如何处理空值?围绕这个问题是否有最好的做法?



1> Jon Skeet..:

为了表示可以为空的整数,我每次都使用Nullable(aka int?).这正是它的设计目标.您提供的几个环节,但你能说出究竟在那里可空类型的语法您的问题是,在哪里你见过显著的性能问题(铭记数据库调用可能是很多比任何转换更贵正在进行中).

编辑:我注意到倒数第二个链接是涉及我的新闻组对话.在这种情况下我转向清除可空类型的原因是因为问题是围绕一个Web服务,它可能需要有效地将空值传递给没有可空值类型的平台.我不认为这适用于你所描述的情况.

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有