我想其中包含“所有项目_at_ ”或“ PV_ ”,但d.Nom.Contains($"PV_")并d.Nom.Contains($"_AT_")获得也只包含“AT”和“光伏发电”项目 IQueryable<DocumentMetadata> docPV = NHibernateSession.Current.Query<DocumentMetadata>() .Where(d => d.IdEntiteRattachement == missionId && d.Nom.Contains($"PV_") && d.Desactive == false) .OrderByDescending(d => d.DateDerniereModif); IList<DocumentMetadata> docAR = NHibernateSession.Current.Query<DocumentMetadata>() .Where(d => d.IdEntiteRattachement == missionId && d.Nom.Contains($"_AT_") && d.Desactive == false) .OrderByDescending(d => d.DateDerniereModif).ToList();
2 回答
www说
TA贡献1775条经验 获得超8个赞
在SQL中,下划线(和百分比)是通配符。NHibernate不会自动转义它们,因为您可以使用它们。后面.Contains
是SQL的LIKE
。
转义通配符取决于基础DBMS。
试试这个:
d.Nom.Contains("\\_AT\\_")
(它可能不起作用。请参阅数据库引擎的文档。)
- 2 回答
- 0 关注
- 305 浏览
添加回答
举报
0/150
提交
取消