有没有办法让linq查询返回日期时间的日期部分。我尝试了所有我能找到的建议,所有这些建议都会在运行时产生错误。这是每个错误消息一起查询的只是选择部分(查询其余的伟大工程):从SQL Server CE日期时间使用linq-to-entities返回唯一日期
select new { d.id, d.date.Value.Date };
指定类型的成员“日期”不支持LINQ到实体。仅支持初始化程序,实体成员和实体导航属性。
select new { d.id, date=EntityFunctions.TruncateTime(d.date) };
的功能不受SQL Server精简认可。 [功能= TRUNCATETIME,数据类型(如果已知)=名称]
select new { d.id, date=d.date.Value.Month + "/" + d.date.Value.Day };
无法转换的类型 'System.Int32' 为类型 'System.Object的'。 LINQ to Entities仅支持投射实体数据模型基元类型。
select new { d.id, date=d.date.Value.Month.ToString() + "/" + d.date.Value.Day.ToString() };
LINQ实体无法识别方法“System.String的ToString()”方法,和这种方法不能被翻译成表达商店。
select new { d.id, date=String.Concat(d.date.Value.Month, "/")};
LINQ实体无法识别方法 'System.String CONCAT(System.Object的,System.Object的)' 方法,和这种方法不能被翻译成表达商店。
感谢您的帮助!
SqlFunctions.DatePart():该函数只能从LINQ调用到实体。第二个返回日期和时间,所有时间都设置为12:00:x.date.Value.Date – user2802450
This Works!感谢百万MarcunJuraszek !!。Select(x => new {x.id,date = x.date.Value.ToShortDateString()}); – user2802450