【问题标题】:WhereExpression method not found in SubSonic 3.0.0.4?在 SubSonic 3.0.0.4 中找不到 WhereExpression 方法?
【发布时间】:2011-03-10 12:10:41
【问题描述】:

这是我第一次在任何论坛上发帖,请原谅我的礼仪。

我正在使用 SubSonic 3.0.0.4 并尝试使用 ActiveRecord 连接 Fluent Query,我希望能够使用 SqlQuery 的 WhereExpression 方法开始添加带有括号的“OR”语句列表,以排除列表来自其他约束,例如

var qry =
db.Select.From<DocumentHeader>();

qry.WhereExpression(DocumentHeadersTable.InvoiceNoColumn).Like(myList.Items[0]);

for (Int32 i = 1, n = myList.Items.Count; i < n; i++) {
    qry.Or(DocumentHeadersTable.InvoiceNoColumn).Like(myList.Items[i]);
}

qry.CloseExpression();

除此之外还有更多内容,但这是一个粗略的示例。在网上搜索并查看 SubSonic 的 Fluent Query 页面,它表明该方法 WhereExpression 确实存在,但查看 Intellisense 然后在从 GitHub 下载的源代码中,我只能找到属性而不是方法。我已经设法解决了上述问题,但是 WhereExpression 会很有用。

毕竟我的问题是,这种方法是否已被删除?或者它的用法改变了?还是很可能我很愚蠢,看错地方了?

提前致谢。 李

【问题讨论】:

  • 感谢 dusan 的编辑 :) 在破解我的旧代码以获得示例时,我得到的结果比我的意思要多,哈哈

标签: subsonic3 constraints sql


【解决方案1】:

显然,由于在 3.0 版中大量添加了 LINQ 支持,WhereExpression 得到了另一个实现,因此只需使用 Where 方法。

【讨论】:

  • 谢谢,我以为它可能已经改变了,但是原始网站上的文档仍然在示例中使用它。所以很高兴知道它很高兴知道我不会完全发疯:) 再次感谢。 (我会给 +1,但我还没有代表)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-01
  • 1970-01-01
  • 2011-05-19
  • 2021-10-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多