【问题标题】:Scott Gu Dynamic Linq Convert Datetime to ShortDatetimeScott Gu 动态 Linq 将 Datetime 转换为 ShortDatetime
【发布时间】:2012-08-28 21:59:48
【问题描述】:

我正在使用 Scott Gu 动态 Linq 类,我试图在将结果集数据绑定到 ASP.net 中的网格视图之前转换日期时间以返回短日期时间。现在,我知道我可以通过 gridview 行数据绑定事件并检查每个单元格以查看它是否是日期,如果是,则将日期转换为短日期,但是这非常麻烦,我不觉得它是效率很高。

我正在 DynamicLinq 中构建我的 select 语句,如下所示:

过滤器获取其信息如下:

 foreach (KeyValuePair<string,string> kvp in dictFilters)
        {
            filter += kvp.Key + " as " + kvp.Value.Replace("-", "_").Replace(" ", "_") + ",";
        }


        var result = db.ViewADHOCContractInfos.Select("new(" + filter + ")");

这给了我以下结果集:

    {SELECT [t0].[dtmAward] AS [Award_Date], [t0].[guidFromId],  [t0].[strFundingNumber] AS [Funding_Number], [t0].[dtmCertified] AS [Certified_Date], [t0].[strFundingNumberStatus] AS [Funding_Status]
FROM [dbo].[ViewADHOCInfo] AS [t0]
}

现在我想要的是:

   {SELECT Convert(VarChar, [t0].[dtmAward], 101) AS [Award_Date], [t0].[guidFromId],  [t0].[strFundingNumber] AS [Funding_Number], [t0].[dtmCertified] AS [Certified_Date], [t0].[strFundingNumberStatus] AS [Funding_Status]
FROM [dbo].[ViewADHOCInfo] AS [t0]
}

是否可以通过使用 Dynamic Linq 的 select 语句添加 SQL 转换?

【问题讨论】:

  • @Icarus - asp.net,我会补充的,对不起
  • 您使用什么 LINQ 提供程序?因为我只知道如何使用 NHibernate 和动态 Linq 来做到这一点。
  • @PatrickKoorevaar 我正在使用常规的 LINQ 库,并将我的所有表都连接到 DBML。我正在使用 Scott Gu 提供的 Dynamic Linq 类

标签: c# asp.net linq tsql dynamic-linq


【解决方案1】:

你的是格式问题:

只需将列上的 DataFormatString 属性设置为:

DataFormatString="{0:MM/dd/yyy}"

完整的上下文:

<asp:BoundField DataField="DateColumn" 
                    HeaderText="Date" 
                    DataFormatString="{0:MM/dd/yy}" />

或任何适合您情况的格式,日期将被正确格式化。

【讨论】:

  • 列是动态构建的,没有定义
猜你喜欢
  • 1970-01-01
  • 2011-10-16
  • 2015-03-12
  • 1970-01-01
  • 2011-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-12
相关资源
最近更新 更多