c# - Entity SQL DateDiff 函数

标签 c# entity-framework-4

我使用实体 ObjectSet 类构建 select 和 where 条件
对象查询。

  ObjectQuery<DbDataRecord> query = context.TestEnt.Select("it.BuySell, "
                        + "it.DepoTerm").Where("Datediff(day,it.RunDateTime,'22-11-2012')=0" );

                var a = query.ToList();
                foreach (var tmp in a)
                {
                    Console.WriteLine(tmp["BuySell"].ToString());
                }

我想在我的 where 条件中使用 datediff 函数, 我该怎么做?

最佳答案

试试这个:

var query = context.TestEnt
                   .Where("DiffDays(it.RunDateTime,'22-11-2012')=0" );
                   .Select("it.BuySell, it.DepoTerm")

您可能必须对字符串传递的数据调用 CreateDataTime 才能使其正常工作。 Here是 ESQL 中所有支持的日期函数的列表。

您还可以使用 Linq-to-entities:

var query = context.TestEnt
                   .Where(x => SqlFunctions.DateDiff("day", x.RunDateTime,'22-11-2012') == 0)
                   .Select(x => new { x.BuySell, x.DepoTerm }); 

关于c# - Entity SQL DateDiff 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8462544/

相关文章:

c# - 使用键和列表的 Linq to Dictionary

javascript - 如何通过单击进行多个图像下载

entity-framework-4 - 不同的EF 4 SaveOptions对ObjectContext有什么影响?

entity-framework - EF 4.0 动态代理 POCO 对象与目标类型不匹配

c# - 在 C# 中,如何构造和解析嵌套的查询字符串?

c# - 转换日期格式

C#:我应该如何改组数组的内容?

Linq 到 EF : How to filter using Non-Primitive types

c# - EF4 CTP5 Code First 中的级联删除对子记录执行更新

wcf - 如何验证、过滤和验证基于 WCF 的 oData 结果?