【发布时间】:2017-03-18 14:40:14
【问题描述】:
我想执行一个存储过程,它返回三个值(Email、Name、CompanyID)并获取一个参数(CompanyID),但它不起作用。
我创建了一个具有这些属性的类和一个返回数据的存储过程。通过它显示DatabaseFacade 错误。
我的代码是:
List<MyClass> AppUser = new List<MyClass>(); //Class with three properties
SqlParameter param1 = new SqlParameter("@CompanyID", CompanyID);
AppUser = _context.Database.SqlQuery<CC>("GetUserAndRolesForCompany", param1).ToList();
显示此错误:我已包含 System.Linq
“DatabaseFacade”不包含“SqlQuery”的定义,并且找不到接受“DatabaseFacade”类型的第一个参数的扩展方法“SqlQuery”(您是否缺少 using 指令或程序集引用?)
【问题讨论】:
-
这听起来像是一个编译错误。并不是程序不起作用,而是您使用了错误的语法。正确的方法是
FromSql如重复问题所示 -
这会返回 DbSet
但为什么要使用它来从存储过程中返回列表 有什么方法可以从 SP 中返回列表吗?
标签: linq stored-procedures asp.net-core asp.net-core-mvc entity-framework-core