为了账号安全,请及时绑定邮箱和手机立即绑定

C#检查字符串包含带下划线的单词

C#检查字符串包含带下划线的单词

C#
回首忆惘然 2021-04-08 18:11:46
我想其中包含“所有项目_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\\_")

(它可能不起作用。请参阅数据库引擎的文档。)


查看完整回答
反对 回复 2021-04-10
  • 2 回答
  • 0 关注
  • 305 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信