Al *_*ath 4 c# sql entity-framework
使用Entity Framework 6
下面的代码查询一个表(实际上是一个视图)并返回一定数量的行。行数是正确的,但是许多行为空,即某些Licenses
对象为空,如在Visual Studio监视窗口中所见。我认为正在发生的事情是,如果视图中给定行的任何列包含空值,那么整个行将被设置为空值。关于如何获取所有正确数据的任何想法?
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();
Run Code Online (Sandbox Code Playgroud)
确保许可证属性的名称与从select中获取的列相同,并且属性类型也相同。
像这样:
Select CustomerId,Firstname from Customers
public class Customer
{
public int CustomerId{get;set;}
public string Firstname {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
并将System.Data.Entity.Infrastructure.DbRawSqlQuery更改为List
我经常使用这种方法,对我来说效果很好。