c# – Linq – 从DateTime中选择日期

前端之家收集整理的这篇文章主要介绍了c# – Linq – 从DateTime中选择日期前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个 Linq结果,我需要从DateTime中选择Date.
我的查询是这样的:
var UserTemplates = (from xx in VDC.SURVEY_TEMPLATE
                     where xx.USER_ID == userid && xx.IS_ACTIVE == 1
                     select new
                     {
                       xx.TEMPLATE_ID,xx.TEMPLATE_NAME,//CREATED_DATE = xx.CREATED_DATE.Value.Date
                       //CREATED_DATE = EntityFunctions.TruncateTime(xx.CREATED_DATE)
                       xx.CREATED_DATE
                     }).ToList();

那可能吗?
任何帮助将不胜感激.

CREATED_DATE - `datetime` datatype

实际上,我将它绑定到Control作为DataSource,控件显示Date和Time.But我想只显示日期.

当我尝试使用CREATED_DATE = xx.CREATED_DATE.Value.Date时,它会给出如下错误

The specified type member ‘Date’ is not supported in LINQ to Entities.
Only initializers,entity members,and entity navigation properties
are supported.

解决方法

如果它是出于演示目的,那么您可以使用DataFormatString属性.例如,如果要将数据源绑定到GridView,则可以执行以下操作:
<asp:BoundField DataField="CREATED_DATE" ...
     DataFormatString="{0:d}" ../>

否则,您可以使用EntityFunctions.TruncateTime()返回没有时间部分的输入日期.

EntityFunctions.TruncateTime(xx.CREATED_DATE)

你的查询就像;

var UserTemplates = (from xx in VDC.SURVEY_TEMPLATE
                     where xx.USER_ID == userid && xx.IS_ACTIVE == 1
                     select new
                     {
                       xx.TEMPLATE_ID,EntityFunctions.TruncateTime(xx.CREATED_DATE) //new like
                     }).ToList();

猜你在找的C#相关文章