一尘不染

Linq-从DateTime中选择日期

sql

我有一个Linq结果的,我只需要选择DateDateTime
我的查询是这样的:

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

实际上,我将其作为a绑定到控件,DataSource并且该控件同时显示这两个控件Date and Time。但是我只想显示date

当我尝试使用时CREATED_DATE = xx.CREATED_DATE.Value.Date,出现类似以下错误:

LINQ to Entities不支持指定的类型成员’Date’。仅支持初始化程序,实体成员和实体导航属性。


阅读 159

收藏
2021-03-10

共1个答案

一尘不染

如果出于演示目的,则可以使用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,
                       xx.TEMPLATE_NAME,
                       EntityFunctions.TruncateTime(xx.CREATED_DATE) //new like
                     }).ToList();
2021-03-10