选择表达式中的单引号问题

时间:2014-08-19 07:28:41

标签: c#

代码非常简单:

string expression = "User = '" + user.UserName + "'";
int selectionCount = Data.Select(expression).Count();

在user.UserName不包含单引号之前一切正常。例如,如果user.UserName等于“gul'mirka”之类的东西,则应用程序崩溃。如何解决这个问题?

实际上user.UserName可以包含任何内容,甚至只包含数字(7548375982)或数学方程式(1 + x = 4)。

谢谢!

2 个答案:

答案 0 :(得分:-1)

您可以将查询转换为lambda语句吗?

var result = Data.Where(x => x.User == user.UserName).ToList().Count();

答案 1 :(得分:-1)

逃避单引号:

string expression = "User = \'" + user.UserName + "\'";
int selectionCount = Data.Select(expression).Count();