繁体   English   中英

Linq to NHibernate使用Queryable.Where谓词

[英]Linq to NHibernate using Queryable.Where predicate

我正在查询使用LINQ到NHibernate的SQLite数据库。

Person是包含ID和名称的实体:

public class Person
{
    public Guid Id { get; private set; }
    public string Name { get; private set; }
}

假设我的数据库表包含一个名称为“ John ”的个人。

该测试按预期工作:

var query = from item in session.Linq<Person>()
            where (item.Name == "Mike")
            select item;

// no such entity should exist
Assert.IsFalse(query.Any());

但这失败了:

var query = from item in session.Linq<Person>()
            select item;
query.Where(item => item.Name == "Mike");

// following line actually returns the
// "John" entry
Assert.IsFalse(query.Any());

我想念什么?

调用Where不会更改现有查询,它将创建一个新查询。 如果要使用新查询,则需要分配一些内容。

var query2 = query.Where(item => item.Name == "Mike");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM