取数据库中的数据时,数据库中的字段有可能是空值,虽然Linq中的Field方法和SetField方法都可以处理可以为 null 的类型,不必像前面的示例那样检查 Null 值,我们再用Field将一些可空的值赋给实体的属性时,有可能会报错,因为实体的属性是可空类型,例如:

角色(SmRole)实体有如下可空类型的创建时间的属性

public virtual DateTime? Createdtime
{
   get { return _createdtime; }
   set { _bIsChanged |= (_createdtime != value); _createdtime = value; }   
}

//dsRole为数据集

var roleAllDs =
     from role in dsRole.Tables[0].AsEnumerable()
     select role;

//创建SmRole实体对象

SmRole smrole = new SmRole();

//遍历数据

foreach (var  r in roleAllDs)//dsRole.Tables[0].Rows
{

  //...

  //smrole.Createdtime = r.Field<DateTime>("CREATEDTIME");

  //如上这样取值就会报标题所示的异常,应该改为可空类型,正确的如下

  smrole.Createdtime = r.Field<DateTime?>("CREATEDTIME");//加上可空标识

  //...

}

转载于:https://www.cnblogs.com/vihone/archive/2010/06/04/1751424.html

无法将 DBNull.Value 强制转换为类型“System.DateTime”。请使用可空类型相关推荐

  1. python空类型-在Python中__________表示空类型。

    [填空题]任意长度的 Python 列表.元组和字符串中最后一个元素的下标为 ________ . [单选题]下面代码的输出结果是 ‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬ ...

  2. 动软Model 模板 生成可空类型字段

    动软代码 生成可空类型 <#@ template language="c#" HostSpecific="True" #> <#@ outpu ...

  3. C#基础入门教程-可空类型(Nullable)

    目录 C#可空类型(Nullable) C# 可空类型(Nullable) 实例练习 Null 合并运算符( ?? ) 实例练习 C#可空类型(Nullable) ? : 单问号用于对 int,dou ...

  4. [C#基础知识系列]专题十:全面解析可空类型

    引言: C# 2.0 中还引入了可空类型,可空类型也是值类型,只是可空类型是包括null的值类型的,下面就介绍下C#2.0中对可空类型的支持具体有哪些内容(最近一直都在思考如何来分享这篇文章的,因为刚 ...

  5. C#中的?和?? 可空类型和空值判断

    我们先看一个例子,在数据库里面有些数据比如说int类型datetime类型是非必填的,所以有的时候这个类型不需要给它一个初始值,直接是null,那么对应c#里面的数据类型如果是int类型我们需要它是一 ...

  6. Kotlin——初级篇(六):空类型、空安全、非空断言、类型转换等特性总结

    在我们熟知的Java中,定义一个变量可以默认不赋值,因为Java的系统会给我们默认赋一个默认值,并且Java可定义一个赋值为null的变量,这样在使用这个变量的时候都会去显示判断该变量是否为null. ...

  7. python中关键字 表示空类型_python中什么表示空类型

    python中什么表示空类型? python中None表示空类型.表示该值是一个空对象,空值是Python里一个特殊的值,用None表示.None不能理解为0,因为0是有意义的,而None是一个特殊的 ...

  8. python中表示空类型的是_python中什么表示空类型

    python中什么表示空类型? python中None表示空类型.表示该值是一个空对象,空值是Python里一个特殊的值,用None表示.None不能理解为0,因为0是有意义的,而None是一个特殊的 ...

  9. 解决无法将类型为“System.Web.UI.WebControls.HiddenField”的对象强制转换为类型的错误...

    解决无法将类型为"System.Web.UI.WebControls.HiddenField"的对象强制转换为类型的错误 2008-01-04 16:14 本文章将解决: 1.解释 ...

最新文章

  1. 中科院韩先培:预训练模型怎样成为下一代知识图谱
  2. ActiveMQ — 集群 — 安装与配置
  3. 从AVL树的定义出发,一步步推导出旋转的方案。
  4. Java开发环境配置——Tomcat
  5. Mac 配置支持 opengl 的 opencv 4.2
  6. 第二周冲刺第四天个人博客
  7. 全排列—leetcode46
  8. 命令行下的curl使用详解
  9. 【Codeforces - 977F】Consecutive Subsequence(STLmap,输出路径,dp)
  10. linux系统在硬盘上安装程序,怎么样用硬盘上的镜象文件来安装Linux系统?我都进入安装界面了,但是那个安装程序好像找不到那几个镜象文件,请指点...
  11. 领域驱动系列五模型驱动设计的构造块
  12. easyconnect无法在mac上使用_Mac上刻录DVD光盘,使用DVD Creator该怎样操作
  13. Linux 64位的操作系统版本,查看cpu 以及linux和windows系统是32为还是64位?+查看操作系统版本...
  14. 如何检测java安装成功_如何检查jdk是否安装成功
  15. [字符串]ASCII码表
  16. 使用Pyecharts进行全国水质TDS地图可视化全过程8:绘制中国地图,使用timeline把多个值放在一个地图上
  17. c语言程序设计数组说课,C语言程序设计说课PPT课件(超好)
  18. excel在线_图片转Excel表格在线工具,分享几款不错的工具
  19. oeasy教您玩转vim - 52 - # 正则查找
  20. 1024: 例题3-2 计算存款利息

热门文章

  1. Android逆向笔记-Proguard混淆Android代码以及去打印日志信息
  2. Linux笔记-scp或ftp或sftp传文件后最后修改时间
  3. Java工作笔记-判断文件是否被正在被写入
  4. MySQL笔记-InnoDB中Record Lock与Gap Lock
  5. Java笔记-JPA保存数据时指定列不插入提交(CURRENT_TIMESTAMP)
  6. Java Socket笔记-udpSocket简单收发包
  7. Qt修改QSS中的qlineargradient属性,实现颜色渐变
  8. Java工作笔记-Map的基本用法
  9. MySQL入门之视图
  10. linux添加定时器防抖,linux驱动2.3按键中断-定时器防抖