在使用MVC开发时,使用了EF进行数据库和model间的映射。发现生成的model代码中有Nullable,对应的数据库字段则是可空的。在利用model赋值时,如果字段被赋值了null,则可以通过。如果不小心删除Nullable,则在给字段赋null时就会出错。也可以使用?代替Nullable。
Nullable是.NET 2.0中新提供的一种用于标明一个值类型是否可以为空的技术。
int?:表示可空类型,就是一种特殊的值类型,它的值可以为null
用于给变量设初值得时候,给变量(int类型)赋值为null,而不是0
int??:用于判断并赋值,先判断当前变量是否为null,如果是就可以赋设个新值,否则跳过
public int? a=null;
public int b() { return this.a ?? 0; }
int? num = null; 正确 int num = null; 错误
作者:KeepMoving
出处: http://www.cnblogs.com/KeepMovingblog/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
出处: http://www.cnblogs.com/KeepMovingblog/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。