簡體   English   中英

使用QueryOver HQL的NHibernate查詢

[英]NHibernate Query using QueryOver HQL

我正在將以下內容編寫為NHibernate查詢,但是找不到使用QueryOver作為HQL的解決方案:-

IQuery query = SessionFactoryContext.GetCurrentSession()
    .CreateSQLQuery(
@"SELECT s.UserID,
    Username,
    Email,Password,
    FirstName,
    LastName,
    Address1,
    Address2,
    City,
    County,
    PostalCode,
    Country 
FROM [dbl].[dbo].[User] s 
    LEFT OUTER JOIN [dbl].[dbo].[groupmembership] g ON s.UserrID = g.UserrID 
WHERE g.UserID IS NULL 
    OR (g.GroupID NOT IN (" + groupID + ")  )")

    .SetResultTransformer(Transformers.AliasToBean(typeof(User)));

return (IList<Subscriber>)query.List<User>();

有沒有辦法將其編寫為NHibernate查詢?

非常感謝您的幫助,

.CreateSQLQuery(
    @"FROM User u left join u.GroupMembership g
    WHERE g.User is null
      OR g.GroupId not in (:groupids)"
.SetParameterList("groupids", groupIds)
.List<User>();

假定GroupMembership是user的屬性,而User和GroupId是GroupMembership的屬性。 (如果GroupId是主鍵,則可以簡化)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM