如何使用条件查询以获取属性不同于列表中任何字符串值的所有对象

本文关键字:字符串 任何 对象 列表 查询 条件 何使用 获取 不同于 属性 | 更新日期: 2023-09-27 18:11:50

Having:

  • 具有专有Name的实体Person
  • a List<string> names加载了一些名称

我如何使用条件查询以获得在名称列表中没有找到Name的所有Person实例?

谢谢你的回答!

解决方案:

var myQuery = session.CreateCriteria(typeof(Person))
                     .Add(Expression.Not(Expression.In("Name", names));

如何使用条件查询以获取属性不同于列表中任何字符串值的所有对象

您正在寻找In表达式,请参见:Nhibernate HQL where IN query

这将使您的特殊情况如下:

ActiveRecordMediator<Person>.FindAll(Expression.Not(Expression.In("Name", names))) 
var ps = from p in persons
    where !list.Contains(p.Name)
    select p;

试试这个。