数据库中的设计是可为空的
int类型改成 int? 的话又可以执行了
这是什么错误
不改成int?报错,数据库肯定没有把允许空勾上。
实体模型应该与数据库保持一致。
比如:数据库中是可空类型,那么手写的实体也要可空。(可以找工具生成撒)
如果数据库中是不可空,请一定要填写数据库默认值,这样的话,在入库的时候,就算你没写值,也不会报错。
做好几下几点:
1.所有字符型数据为扩展需要必须使用 nvarchar,并且不允许空,同时设置默认值(‘’),注意是在新建表情况下
2.所有数字型(int,smallint,tinyint,decimal)除特殊情况外,均不允许为空,并设置默认值,无确定默认值时设置为 0
3.日期型统一使用(datetime)格式,默认值设为: getdate() ,或 ‘1900-1-1’,或‘2000-1-1’,具体据业务需求设置默认值
4.不建议用 nvarchar(max) 类型的字段,这样查询一个list,会非常耗时.
以上是自己所在公司的一些规范,手打,求给好评,如果其他意见请回复~
SqlParameter不需要自己转换int类型,函数会自动识别并且转换枚举值。
这种情况下直接传递枚举值进去就可以了。