日期:2014-05-20  浏览次数:20830 次

LINQ中Where里使用字符串查询的问题
想实现这样的功能
DateTime DT = Conver.ToDateTime("2010-06-18")
Where(p=>p.fDate==DT) //使用Lambda表达式, 这样可以正确运行
现在由于程序的需要,Where里必须使用字符串做条件,不能使用Lambda表达式,所以改成
tprice.Where("fDate='2010-06-18'") //但这样报错DateTime和String不兼容

请问有什么办法可以将Where里的条件转换成正确字符串条件吗?

------解决方案--------------------
var p=from q in db.Test
where Convert.ToDateTime(txt1.TextBox.Trim()).CompareTo(q.dt)>=0

if (str.Contains("="))
return str.Split('=')[0] >= DateTime.parse(str.Split('=')[1]);

------解决方案--------------------
C# code

var query=tprice.Where(p=>p.fDate==GetTime("2010-06-18")) ;

DateTime GetTime(string time)
{
  return Convert.ToDateTime(time);
}

------解决方案--------------------
不可能

你的目的已经违反了语法规则