if (JKRQ.Length > 0) 数据库中的datetime是精确到毫秒的,这样子会报错: 怎么才能让等式成立? |
|
把JKRQ转成DateTime,然后直接比较DateTime
|
|
string.Format (“{0:yyyy-MM-dd}”,m.JKRQ )
|
|
+1 |
|
string.Format (“yyyy-MM-dd”,m.JKRQ )
格式错了,string.Format(“{yyyy-MM-dd}”,m.JKRQ)。上网搜一下,看看Format时间转换的用法。 |
|
10分 |
if (JKRQ.Length > 0)
{ list = list.AsEnumberable().Where(m => string.Format (“yyyy-MM-dd”,m.JKRQ )==JKRQ ); } |
另一种方式是用:EntityFunctions.DiffMicroseconds
http://msdn.microsoft.com/en-us/library/dd412631%28v=vs.110%29.aspx |
|
40分 |
EF6.0以下用
var dt = DateTime.Parse(JKRQ); list.Where(m => System.Data.Objects.SqlClient.SqlFunctions(m.JKRQ) == dt) EF6以上用 |
EF6.0以下用
var dt = DateTime.Parse(JKRQ); list.Where(m => System.Data.Objects.SqlClient.SqlFunctions.GetDate(m.JKRQ) == dt) EF6以上用 |