Queryable() does not work if the column contains "\" 返回

SqlSugar
7 92
该叫什么 可逆 发布于1周前
悬赏:0 飞吻

SqlSugarDemo.zip


The table data as following:

image.png


Variable "notesdb" is always null when using "Contains",  however, it works as expected if I remove the "\" ("mail\htsang.nsf"->"mailhtsang.nsf")


image.png


The SQL Generated by Sqlsugar can work in mysql workbench



SELECT `MailFilePath`,`MailFileSize`,`LocationId`,`IsSelcted`,`ServerAddress`,`IsLocal`,`MigrationProfileId`,`NumberOfErrors`,`NumberOfWarnings`,`NumberOfSkipped`,`DatabaseTemplate`,`NumberOfMessages`,`NumberOfMigrated`,`DestinationFilePath`,`DestinationServer`,`MigrationStage`,`CreateTime`,`UpdateTime`,`CreateUserId`,`UpdateUserId`,`IsDelete`,`Id` FROM `NotesDatabases`   WHERE  (N'mail\htsang.nsf.abc' like concat('%',`MailFilePath`,'%'))    LIMIT 0,1


image.png

热忱回答7

  • DEMO可以跑 

    0 回复
  • image.png

    我就加一行建表代码

    0 回复
  • 没用你的脚本建表你可以试试

    0 回复
  • image.png


    这一行可以正常返回数据? 我这边总是null,有没有用我的testing data。只要包含“\”就有问题

    0 回复
  • @可逆:这一行可以跑 我这边测试通过,只是表里面没有数据,并且表是用我CodeFirst建的

    0 回复
  • @fate sta:我的問題是查詢不到數據,而不是報錯

    你用我給你的數據試試。

    0 回复
  • 我测试了entityframework, sqlSugar.Ado.SqlQuery<NotesDatabase>()都工作正常, 唯有下面这个代码 只要查询的数据中包含“\”就拿不到数据, 很明显的bug。


    很容易重现的, 麻烦看下:


    image.png

    0 回复