首先声明我也是看传至视频知道的,之前总是问问题,回答问题。殊不知原来分享问题一样可以呵呵。只讲讲思路。
C#和数据库由于对bool int 以及 datatime 等类型的null判断不一样。所以出现了一个问题就 就是如何处理null。 首先一个实体类中建字段的时候把以上类型用可空类型 如: int? bool? 等。然后我们就可以给此字段赋可为null的值了。 然后,当我们从数据库中(取值)的时候,null值也不怕了。最好的方法就是用三元运算符 例如:model.Id = row.IsNull("Id")?null:(Int32?)row["Id"] 。这样我们就可以用 HasValue 判断它是否为null。
当我们向数据库中(插入数据,改)的时候。例如:model.Id == null ? (object)DBNull.Value : model.Id 用这种判断方式,就可以完美的解决数据库中null 与c#中null的区别。如果你写成一个方法,使用起来会更方便 |