首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nhibernate Restrictions.Eq和null

nhibernate Restrictions.Eq和null
EN

Stack Overflow用户
提问于 2010-08-01 15:40:20
回答 2查看 14K关注 0票数 9
代码语言:javascript
复制
Advertisements advertisements = NHibernateSession.CreateCriteria(typeof(Advertisements))
                    .Add(Restrictions.Eq(AdvertisementsProperties.Price.ToString(), price))
                    .Add(Restrictions.Eq(AdvertisementsProperties.HollidayDuration.ToString(), hollidayDuration))
                    .Add(Restrictions.Eq(AdvertisementsProperties.Name.ToString(), name))
                    .Add(Restrictions.Eq(AdvertisementsProperties.Description.ToString(), description))
                    //.Add(Restrictions.Eq(AdvertisementsProperties.DepartureDate.ToString(), departureDate))
                    .Add(Restrictions.Eq(AdvertisementsProperties.City.ToString(), city))
                    .Add(Restrictions.Eq(AdvertisementsProperties.Area.ToString(), area))
                    .Add(Restrictions.Eq(AdvertisementsProperties.Country.ToString(), country))
                    .Add(Restrictions.Eq(AdvertisementsProperties.Agency.ToString(), agency))
                    .UniqueResult<Advertisements>();

但城市、地区或国家可以为空。如何将数据库中的null与nhibernate进行比较?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-08-02 03:02:17

代码语言:javascript
复制
public AbstractCriterion EqOrNull(string property, object value) {
    if (value == null)
        return Restrictions.IsNull(property);
    return Restrictions.Eq(property, value);
}

例如:

代码语言:javascript
复制
session.CreateCriteria<Advertisements>()
       .Add(EqOrNull(AdvertisementsProperties.City.ToString(), city));

另请参阅HHH-2951

票数 17
EN

Stack Overflow用户

发布于 2010-08-02 03:06:21

代码语言:javascript
复制
session.CreateCriteria<Advertisements>()
       .Add(Expression.Or(
                 Expression.Eq("AdvName", "Cool Advertisement"),
                 Expression.IsNull("AdvName"))
        ).List<Advertisements>();
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3381182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档