解决多表查询数据接收时进行数据类型转换出现的问题
在进行多表查询时有的人习惯创建声明一个实体类来接收,这种做法我也经常做,但我最近发现啦这种方法还有一个要注意的情况。普通来说就是直接加上数据类型创建一个实体类就行了;但如果在多表接收数据时出现啦明明声明了的相同的类型但是数据类型还是匹配不上那怎么办?这时很多初学这第一反应应该就是直接进行数据转换,那是不是直接进行数据转换呢?接下来了解一下,和解决方法。
现在我声明的实体类是这样子的:
public class Tixiangjl
{ public string Tixleix { get; set; }
public string BankCardNumber { get; set; }
public decimal WithdrawMoney { get; set; }
public decimal DaoMoney { get; set; }
public decimal shouxf { get; set; }
public DateTime SubmissionTime { get; set; }
public string ExaminationState { get; set; }
public int? TixlxbiaoID { get; set; }
public string shjian { get; set; }
}
声明了的相同的类型,然而我们进行数据接收时会发现数据类型不相符报了错。
这时我尝试对上面的数据进行数据转换
完成了数据转换果然已经不报错了,但是当我启动项目时又出啦一个新的问题
很显然在这直接进行数据转换时是行不通的;
这时我们只需要在实体类中对数据类型进行处理;就能 解决这种问题了。
在实体类需要进行数据转换的数据加上Nullable处理;
public class Tixiangjl
{ public string Tixleix { get; set; }
public string BankCardNumber { get; set; }
public Nullable WithdrawMoney { get; set; }
public Nullable DaoMoney { get; set; }
public Nullable shouxf { get; set; }
public Nullable SubmissionTime { get; set; }
public string ExaminationState { get; set; }
public int? TixlxbiaoID { get; set; }
public string shjian { get; set; }
}
就解决了问题:既不会出错,启动项目也能完收数据了
但是这样的操作对时间的接收,就不能直接收了,因为这样时间接收的不是时间格式的。
所以要进行数据的转化:
这样就能完美的接收数据了