我的一个实体类中有一个售出日期字段,我想加一个售出月份字段,他的值通过前面那个售出日期中获取,而我插入数据后,总是报这个错误,而数据库中售出月份字段居然有正确的值。上面这个错误导致我查询时报错,求大佬给个解题思路
代码大致如下:
/// <summary>
/// 售出日期
/// </summary>
public DateTime SaleDate { get; set; }
/// <summary>
/// 售出月份
/// </summary>
public string Month => SaleDate.Month.ToString();
如果我选择不把售出月份字段放到数据表中,不会出错,但是当我以月份来查询数据时,无效,所以此字段需要放到数据库中
如果不把Month字段放到数据库表中,插入数据正常,且此字段值也有,单条数据查询可以查询出来,但是当我以此字段为查询条件时,报错:Invalid column name 'Month'.
,我也知道原因,因为数据表中压根没有此字段,但是我放到数据库中吧,插入数据又报上面错误。。。。。
你可以不把售出月份这个字段放到数据库,要是根据月份查询,你可以这么干:
select * from 你的表名
where DATEPART(month,SaleDate)=7
首先要谢谢你,问题已经解决了,两种解决方案,要么添加一个字段,如上,不过要添加set访问器即可,还一种是直接在api中写,我们公司中有封装方法直接使用(先前我不知道。。。。),你这个我回头试试看看,再次感谢