带有包含十进制和日期时间值的动态Linq查询

时间:2014-12-11 12:41:57

标签: c# winforms dynamic-linq

我想在动态linq查询中使用contains()来获取任何值。我只能为字符串类型这样做。这是代码:

var TableName = cboSelectTable.Text.ToString();
var columnName = cboCrudSearchColumn.Text.ToString();
string searchValue = txtCrudSearch.Text.ToString().ToUpper();
var truncatedData = new object();
//cadContext is an EDM.
var rawData = cadContext.GetType().GetProperty(TableName).GetValue(cadContext, null);
truncatedData = ((IQueryable<object>)rawData).Where(columnName +".Contains(@0)", searchValue ).ToList();
dgvLoadTable.DataSource = truncatedData;

如何将此代码用于数字和日期时间值?对于数字,我试过这个:

int x = Int32.Parse(txtCrudSearch.Text);
truncatedData = ((IQueryable<object>)rawData).Where(columnName + ".Contains(@0)", x).ToList();

它说:'Decimal'类型中没有适用的方法'Contains'。此外,我无法弄清楚如何处理datetime值。任何帮助表示赞赏。

0 个答案:

没有答案
相关问题