14

からのみ選択する必要があるLinqResult があります。 私のクエリは次のようになります: 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

実際には、私はそれをコントロールにバインドしてDataSourceおり、コントロールは両方を表示しています。Date and Timeしかし、表示したいのはdate.

私が試しているときCREATED_DATE = xx.CREATED_DATE.Value.Date、次のようなエラーが発生しています:

指定された型メンバー 'Date' は、LINQ to Entities ではサポートされていません。初期化子、エンティティ メンバー、およびエンティティ ナビゲーション プロパティのみがサポートされています。

4

5 に答える 5

28

プレゼンテーション目的の場合は、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();
于 2013-09-26T07:17:56.187 に答える
0
var UserTemplates = (from xx in VDC.SURVEY_TEMPLATE
                     where xx.USER_ID == userid && xx.IS_ACTIVE == 1 select  xx).AsEnumerable()
                     .Select( i=> new
                     {
                       i.TEMPLATE_ID,
                       i.TEMPLATE_NAME,
                       CREATED_DATE = i.CREATED_DATE.ToString("M/d/yyyy"),
                       i.CREATED_DATE
                     }).ToList();
于 2013-09-26T07:26:40.170 に答える