如何在动态Linq中搜索Year between



我有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();

最新更新