使用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(或其他列)在前。

10-06 04:08