【问题标题】:Code First: Using sql IN keyword [duplicate]代码优先:使用 sql IN 关键字 [重复]
【发布时间】:2015-09-01 09:03:55
【问题描述】:

如何在 Code First 下使用 IN 关键字?

SELECT * FROM table1 WHERE id IN (1,2,3);

一直在 google 上找东西,除非唯一的方法是原始 sql,否则找不到任何东西。

【问题讨论】:

  • 执行查询时得到的结果
  • 借助 contains var val = tblName.Where(t => col1.Contains(paramName));
  • 请注意,除了 linq 等价的 Where(x => ArrayOfValues.Contains(x.Id)) 将被转换为 WHERE IN 类型 sql 之外,“代码优先”与其他任何事情都有关系
  • 我还没有执行查询,因为我不知道如何在 c# 的位置编写查询.. 但我会尝试 @haim770 的评论
  • 我传递了一个 int 数组并收到错误 Unable to create a null constant value of type 'System.Int32[]'. Only entity types, enumeration types or primitive types are supported in this context.

标签: c# sql-server asp.net-mvc-4 ef-code-first


【解决方案1】:

这个答案应该会有所帮助: https://stackoverflow.com/a/13342905/2892208

EF 应该决定他如何渲染脚本,但我相信 .Contains 方法非常适合这里。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-31
    • 2011-12-12
    • 2016-01-27
    • 1970-01-01
    • 2011-07-24
    • 1970-01-01
    • 2016-01-31
    相关资源
    最近更新 更多