加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 18:08:18 所属栏目:百科 来源:网络整理
导读:我有一个 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
我有一个 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();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读