我有YearField,这是我的数据库中的字符串。我想写一个函数,允许用户能够用Between搜索YearField。
string fromYear = tbxFromYear.Text;
string toYear = tbxToYear.Text;
searchQuery = "Convert.ToInt32(YearField) > (@0) && Convert.ToInt32(YearField) < (@1)";
var result = db.selectDataFromSharedView().AsQueryable().
Where(searchQuery, Convert.ToInt32(fromYear),Convert.ToInt32(ToYear)).OrderBy("YearField Descending").ToList();
我在动态linq行中得到以下错误。
类型'Convert'中不存在适用的方法'ToInt32'
我也将searchQuery替换为以下内容,但不工作,并且出现相同的错误。
searchQuery = "Convert.ToInt32("YearField") > (@0) && Convert.ToInt32("YearField") < (@1)";
你能试试吗?
int fromYear = Convert.ToInt32(tbxFromYear.Text);
int toYear = Convert.ToInt32(tbxToYear.Text);
var values = new[] {fromYear, toYear };
searchQuery = "Convert.ToInt32(YearField) > @0 AND Convert.ToInt32(YearField) < @1";
var result = db.selectDataFromSharedView().AsQueryable()
.Where(searchQuery, values )
.OrderBy("YearField Descending")
.ToList();