使用Entity Framework 6
,下面的代码查询一个表(实际上是一个 View )并返回一些行。行数是正确的,但是许多行为空,即某些Licenses
对象为空,如在Visual Studio监视窗口中所见。我认为正在发生的事情是,如果 View 中给定行的任何列包含空值,那么整个行都将被设置为空值。
关于如何获取所有正确数据的任何想法?
String query = "select * from dbo.v_Licenses where [Number] like '%ab%'";
System.Data.Entity.Infrastructure.DbRawSqlQuery<Licenses> dbRawSqlQuery = db.Database.SqlQuery<Licenses>(query);
Queryable<Licenses> licenses = dbRawSqlQuery.AsQueryable();
最佳答案
如果结果集的第一列是null
,则基于this question,似乎EF(至少在某个时候)返回了null
对象。因此,而不是选择*
,您应该显式命名列,并确保PK(或其他列)在前。