使用 SqlParamter 时查询不返回任何内容:实体框架

凯莱布·W。

我编写了一个查询来显示生产线中满足特定条件的作业。基本上,它显示了我工作场所生产线特定部分的“正在进行的工作”(WIP)的工作。

我正在使用以下内容来执行我的查询:

var CurrentWIPQuery = context.Database.SqlQuery<JobList>(@" ....  ");
return CurrentWIPQuery.Count();

“JobList”是一个模型,其中包含工作编号、客户名称和某些阶段完成的日期信息。因此,该查询应该将正确的字段返回给我的模型中的这些属性。

所以这将返回查询中的行数;当前归类为正在进行的工作的工作数量。由于信息的敏感性,我没有包括实际的 SQL 查询。我可以告诉你它工作正常。当我尝试对此查询进行参数化时会出现问题,因为我希望能够通过参数切换查询中的生产线编号,而不是键入另一行的代码。使用参数时,查询不返回任何内容。

我这样做是因为查询非常冗长,而且当我使用完整的实体框架方法时似乎效果不佳。

这是我创建参数的方式。我尝试了两种不同的方法,两种方法都失败了。方法一

var CurrentWIPQuery = context.Database.SqlQuery<JobList>(@"
...query here...",new SqlParameter[] { ("@Cell", CellName),("@line, SCHEDULE_GROUP_NAME)});

方法二

SqlParameter WIPParam1 = new SqlParameter("@Cell", CellName);
SqlParameter WIPParam2 = new SqlParameter("@line", SCHEDULE_GROUP_NAME);
var CurrentWIPQuery = context.Database.SqlQuery<JobList>(@"
...query here...", WIPParam1, WIPParam2);

方法 2 阻止我获得:

SqlParameter is already contained by another SqlParameterCollection

错误(我在别处有另一个使用相同参数的查询,它们在某种程度上发生冲突),但查询仍然是空的。

什么工作能正常工作时,我硬编码细胞和行号到我的SQL查询,所以我坚持,为什么当我paramaterize这些不工作。

感谢您对此的任何帮助!

大卫·G

您的第二种方法可能工作正常(如果没有查询和数据库结构就很难判断),但您得到的例外是因为您多次枚举结果。实体框架使用延迟执行,因此在您需要数据之前不会实际访问数据库。这意味着您的查询的返回(在本例中CurrentWIPQuery)实际上是对去检索数据的承诺。考虑一下:

var CurrentWIPQuery = ...;

//This should work fine
var count = CurrentWIPQuery.Count(); 

//This will throw an exception
foreach(var thing in CurrentWIPQuery)
{
}

第二次运行CurrentWIPQuery尝试再次运行查询,但由于SqlParameter您传入对象已经与另一个查询相关联,因此抛出。最简单的解决方案是通过添加到末尾来确保CurrentWIPQuery包含物化数据而不是 an IEnumerableToList()

var CurrentWIPQuery = context.Database.SqlQuery<JobList>(
    @"...query here...", WIPParam1, WIPParam2)
    ToList();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用uuid查询SQLite不返回任何内容

来自分类Dev

使用OR WHERE时,Scala Doobie不返回任何内容

来自分类Dev

我的Listview在使用改造时不返回任何内容

来自分类Dev

使用 React 渲染不返回任何内容

来自分类Dev

使用实体框架时是否可以从查询返回字符串值?

来自分类Dev

使用虚拟属性时,WCF Rest GET不返回任何内容

来自分类Dev

在Rails中,当____不返回任何内容时,如何使用.where('rooms.id不在(?),____)中?

来自分类Dev

使用时间时,SimpleDateFormat解析不返回任何内容

来自分类Dev

在实体框架中使用SqlQuery RAW查询返回匿名类型

来自分类Dev

查询使用FREETEXTTABLE时,“所选的存储过程或函数不返回任何列”

来自分类Dev

PHP mysqli查询使用MYSQLI_USE_RESULT在特定结果大小后不返回任何内容

来自分类Dev

使用JSoup提取表行数据不返回任何内容

来自分类Dev

如何使用QTestLib测试不返回任何内容的函数

来自分类Dev

无法使用file_get_contents(),不返回任何内容

来自分类Dev

使用Get-ChildItem -Exclude或-Include不返回任何内容

来自分类Dev

使用RSelenium进行Web抓取:findElement不返回任何内容

来自分类Dev

使用反射获取类属性信息,不返回任何内容

来自分类Dev

使用ajax的serialize()函数不返回任何内容

来自分类Dev

无法使用file_get_contents(),不返回任何内容

来自分类Dev

使用Get-ChildItem -Exclude或-Include不返回任何内容

来自分类Dev

使用 firebase 检索数据不返回任何内容

来自分类Dev

使用 Erlang mnesia:read/2 不返回任何内容

来自分类Dev

使用大整数的方法不返回任何内容

来自分类Dev

SQL 查询不使用此 HAVING 子句返回任何内容

来自分类Dev

$ wpdb使用SELECT查询不返回任何结果

来自分类Dev

不返回任何内容时,t-sql会强制显示一条消息。使用CTE和CASE

来自分类Dev

使用实体框架时的InvalidCastException

来自分类Dev

使用实体框架时的InvalidCastException

来自分类Dev

使用全名搜索时,Gem Ransack不返回任何结果

Related 相关文章

  1. 1

    使用uuid查询SQLite不返回任何内容

  2. 2

    使用OR WHERE时,Scala Doobie不返回任何内容

  3. 3

    我的Listview在使用改造时不返回任何内容

  4. 4

    使用 React 渲染不返回任何内容

  5. 5

    使用实体框架时是否可以从查询返回字符串值?

  6. 6

    使用虚拟属性时,WCF Rest GET不返回任何内容

  7. 7

    在Rails中,当____不返回任何内容时,如何使用.where('rooms.id不在(?),____)中?

  8. 8

    使用时间时,SimpleDateFormat解析不返回任何内容

  9. 9

    在实体框架中使用SqlQuery RAW查询返回匿名类型

  10. 10

    查询使用FREETEXTTABLE时,“所选的存储过程或函数不返回任何列”

  11. 11

    PHP mysqli查询使用MYSQLI_USE_RESULT在特定结果大小后不返回任何内容

  12. 12

    使用JSoup提取表行数据不返回任何内容

  13. 13

    如何使用QTestLib测试不返回任何内容的函数

  14. 14

    无法使用file_get_contents(),不返回任何内容

  15. 15

    使用Get-ChildItem -Exclude或-Include不返回任何内容

  16. 16

    使用RSelenium进行Web抓取:findElement不返回任何内容

  17. 17

    使用反射获取类属性信息,不返回任何内容

  18. 18

    使用ajax的serialize()函数不返回任何内容

  19. 19

    无法使用file_get_contents(),不返回任何内容

  20. 20

    使用Get-ChildItem -Exclude或-Include不返回任何内容

  21. 21

    使用 firebase 检索数据不返回任何内容

  22. 22

    使用 Erlang mnesia:read/2 不返回任何内容

  23. 23

    使用大整数的方法不返回任何内容

  24. 24

    SQL 查询不使用此 HAVING 子句返回任何内容

  25. 25

    $ wpdb使用SELECT查询不返回任何结果

  26. 26

    不返回任何内容时,t-sql会强制显示一条消息。使用CTE和CASE

  27. 27

    使用实体框架时的InvalidCastException

  28. 28

    使用实体框架时的InvalidCastException

  29. 29

    使用全名搜索时,Gem Ransack不返回任何结果

热门标签

归档