0

我有 EF 查询:

IEnumerable<Account> accounts 
         = (
           from a in dc.Accounts
            join m in dc.GroupMembers on a.AccountID equals m.AccountID
            where m.GroupID == GroupID && m.IsApproved
            select a)
           .Skip((_configuration.NumberOfRecordsInPage * (PageNumber - 1)))
           .Take(_configuration.NumberOfRecordsInPage);

如何用流利的 nhibernate 查询编写它Session.CreateCriteria<>?(我的问题是加入)

4

1 回答 1

1

菲尔在这里有一个很好的答案 - NHibernate QueryOver with ManytoMany ,其中有一个与 QueryOver 连接的示例

var result = Session.QueryOver<Product>()
                        .Right.JoinQueryOver<Category>(x => x.Categories)
                        .Where(c => c.Id == categoryId)
                        .List();

他还描述了如何使用 linq 进行查询:

var users = from u in session.Query<Users>()
        where u.UserName == "Abcd"
        && u.Password == "123456"
        select u;

因此,将上述示例应用于您的查询可能会起作用:

(from a in session.Query<Account>()
                                     join m in session.Query<GroupMember>() on a.AccountID equals m.AccountID
                                     where m.GroupID == GroupID && m.IsApproved
                                     select a).Skip((_configuration.NumberOfRecordsInPage * (PageNumber - 1)))
                                     .Take(_configuration.NumberOfRecordsInPage);

但是,为了帮助更好地了解您遇到的问题,您可以发布您尝试过的内容吗?

于 2012-06-02T11:00:24.790 回答