You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Entity Framework原生SQL查询无法赋值问题求助

解决EF SqlQuery返回对象字段未赋值的问题

问题出在你定义的TestData类里用的是字段(field),而Entity Framework的SqlQuery<T>方法只会通过类的**属性(property)**的setter来完成数据映射,它不会直接给类的字段赋值,所以才会出现实例数量正确,但所有字段都是默认值的情况。

直接把TestData里的字段改成带getter和setter的属性就能解决:

public class TestData
{
    public int DailyGamingID { get; set; }
    public DateTime GamingDate { get; set; }
    public int LocationID { get; set; }
}

如果特殊场景下必须用字段(不推荐这种写法),可以在SQL查询里给列名指定和字段完全一致的别名,同时确保字段是public权限,但这种方式远不如用属性稳定,EF的映射逻辑本身就是优先针对属性设计的。

内容的提问来源于stack exchange,提问作者JBrock

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 20:05:39