我需要运行原始SQL查询并返回计算列。该查询与POCO类的属性匹配。对数据库运行时查询运行正常,但计算列返回null
public class PocoClass
{
public int ID { get; set; }
[NotMapped]
public DateTime? CalculatedDate { get; set; }
}
查询假代码(实际查询更复杂):
string sql = @"SELECT ID, max(date) as CalculatedDate
from randomtable
where ID = 1
group by ID
order by CalculatedDate";
var result = db.Database.SqlQuery<PocoClass>(sql).ToList();
我认为使用“as CalcluatedDate”会允许结果包含该字段但不起作用。
我错过了什么?
答案 0 :(得分:0)
如果使用代码优先,请尝试将DatabaseGenerated
属性添加到CalculatedDate
字段:
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
public DateTime? CalculatedDate { get; set; }
如果首先使用数据库,并且您已在设计器中生成类,请打开模型(.edmx文件),然后导航到相关实体上的列。然后,在属性中,将StoreGeneratedPattern设置为Computed,然后重新生成模型。