我是编写LINQ查询的新手,并且遇到字符串比较问题。我正在将数据加载到DataTable中(确认SQL DB和DataTable中的表具有相同的行数),但出于某种原因,我无法找到我知道存在的值。LINQ查询不返回行中的字符串比较
文本框中包含“服务器名称”,而数据行包含“servername.mydomain.net”,所以这里就是我的代码看起来像
string strParameter = txtAutoComplete.ToString().ToLower();
//WUG TableAdapter and DataTable
dsCIInfoTableAdapters.DeviceTableAdapter taWUG;
taWUG = new dsCIInfoTableAdapters.DeviceTableAdapter();
dsCIInfo.DeviceDataTable dtWUG = new dsCIInfo.DeviceDataTable();
taWUG.Fill(dtWUG);
var qstWUG = (from row in dtWUG.AsEnumerable()
where row.Field<string>("sDisplayName").ToLower().Contains(strParameter)
select row.Field<string>("sDisplayName"));
也许strParameter具有在年底或东西)就可以了多余的空格,也许尝试修剪( 。并在linq语句中做一个字符串== – cgatian 2013-04-30 19:15:08
啊,我看到它的自动完成,忽略关于字符串相等的最后部分 – cgatian 2013-04-30 19:17:00
这真的是where子句不工作,如果我拿出where子句有4426行返回,哪是相同数量的行在DB – 2013-04-30 19:45:39