我在数据库中有一个包含几列的视图。我正在尝试此查询
public class TestEntity
{
public string ref { get; set; }
public string Name { get; set; }
public string Batch { get; set; }
}
var res = dbContext.Database.SqlQuery<TestEntity>("Select * from dbo.MyView").ToList();
但这返回只有 null 值而没有数据的对象列表。但是,当我尝试像这样检索单列时,它可以工作
var res = dbContext.Database.SqlQuery<string>("Select Name from dbo.MyView").ToList();
我注意到问题出在测试实体上,因为当我使用字符串而不是测试实体时,它可以工作。任何建议我在这里做错了什么?
只需替换以下代码
var res = dbContext.Database.SqlQuery<TestEntity>("Select * from dbo.MyView").ToList();
有了这个,再试一次...
var res = dbContext.Database.SqlQuery("Select * from dbo.MyView").ToList<TestEntity>();
如果仍然不起作用,那么您需要检查您的
测试实体
和你的
德博。我的视图
因为如果 MyView 和 TestEntity 中有不同的列,那么它将无法工作...
如果您在查询中更改列名,那么它将引发异常或无法正常工作......
如果这对您有帮助,那么不要忘记标记...
谢谢。。。