[英]cannot await 'system.data.entity.infrastructure.dbsqlquery
[英]ASP.NET Convert Class to 'System.Data.Entity.Infrastructure.DbSqlQuery<Project.Models.HomesClass>'
我正在使用Entity Framework,并且有一个名为HomesClass的类,并且在我的edit方法中有以下代码行:
HomesClass homesClass = db.Data.Find(id);
所以我尝试做这样的另一行
HomesClass homesClass = db.Data.SqlQuery("SELECT ....");
但是然后我得到这个错误:
Cannot implicitly convert type 'System.Data.Entity.Infrastructure.DbSqlQuery<Project.Models.HomesClass>' to ‘Project.Models.HomesClass'
我的问题是如何正确转换此格式?
您的原始代码失败,因为db.Data.SqlQuery("SELECT ....")
转换为DbSqlQuery
类型的实例,该实例与您的HomesClass
类型HomesClass
。
DbSqlQuery
的实例只是保存查询的对象,而不是执行查询的结果。
您需要执行查询,以便将结果转换为实际包含您要获取的数据的对象。 您可以通过在要求它执行查询的DbSqlQuery实例上调用方法来执行查询。
您缺少FirstOrDefaultAsync
。
HomesClass homesClass = await db.Data.SqlQuery("SELECT ....").FirstOrDefaultAsync();
如果您想要一个列表:
List<HomesClass> result = await db.Data.SqlQuery("SELECT ....").ToListAsync();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.