EntityFramework SqlQuery ToList()

3
为什么在此查询中会出现错误?我在其他项目中使用过这种格式,没有出现过问题。
    var history = db.Database.SqlQuery<ReferralHistory>("dbo.GetReferralHistory @quoteGuid, @username",
        new SqlParameter("@quoteGuid", quoteGuid),
        new SqlParameter("@userName", userName))
        .ToList();

它不喜欢ToList()。

严重性 代码 描述 项目 文件 行号 错误 CS1061 'DbRawSqlQuery'不包含定义'ToList'的内容,也没有扩展方法'ToList'接受类型为'DbRawSqlQuery'的第一个参数可以找到(是否缺少using指令或程序集引用?)

我只想让存储过程的结果填充一个与存储过程输出结果匹配的此对象类型的List<>。


1
你有 ToListAsync() 吗? - haim770
1
你的查询中有 '@username',而你将 '@userName' 添加为参数。这只是你问题或代码中的一个笔误吗? - HasaniH
1个回答

7

我认为你肯定缺少了 System.Linq 命名空间。创建一个简单的测试应用程序并包含 System.Linq

db.Database.SqlQuery<Class1>("storedproc_test @foo", new SqlParameter("@foo", foo) ).ToList();

编译正常。如果删除 System.Linq,则会出现您正在获得的错误。


就是这样。我在其他所有课程中都掌握了它,但不知何故在这门课程中错过了它。谢谢。 - Patrick
这是正确的答案。今天我也遇到了同样的问题,但已经解决了。 - jamir

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接