如何在我的查询中显示ToShortDateString() [英] how to show ToShortDateString() in my query

查看:68
本文介绍了如何在我的查询中显示ToShortDateString()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



i有我的函数BindGrid(),我的数据库中有属性dsm我有2010-01-01 00:00:00.000我想显示只是2010-01-01我添加了q.DATE_MS.Value.ToShortDateString()但是它不起作用



pzz帮助我




i have my function BindGrid(), i have attribute dsm in my database i have 2010-01-01 00:00:00.000 and i want to display just 2010-01-01 i have add q.DATE_MS.Value.ToShortDateString() but it dosen't work

pzz help mee

void BindGrid()
       {
           using (QTEL_Entities qtl = new QTEL_Entities())
           {
               var rslt = from q in qtl.STATIONs
                          select new
                          {
                              id=q.ID_STATION,
                              lib=q.LIBELE_STATION,
                              typ=q.TYPE_STATION,
                              dsm=q.DATE_MS.ToString(), // 
                             
                          }
                          ;
               gridSample.DataSource = rslt.ToList();
               gridSample.DataBind();
           }
       }

推荐答案

您好,

尝试这种方式

Hello,
Try this way
void BindGrid()
       {
           using (QTEL_Entities qtl = new QTEL_Entities())
           {
               var rslt = (from q in qtl.STATIONs
                          select new
                          {
                              id=q.ID_STATION,
                              lib=q.LIBELE_STATION,
                              typ=q.TYPE_STATION,
                              dsm=q.DATE_MS 
                          }).ToList().Select(x => new
                         {
                              id=x.id,
                              lib=x.lib,
                              typ=x.typ,
                              dsm=string.Format("{0:yyyy-MM-dd}", x.dsm), 
                         });
                          
               gridSample.DataSource = rslt.ToList();
               gridSample.DataBind();
           }
       }





谢谢



thanks


你不能放一个方法调用提供程序无法转换为SQL的LINQ查询。所以,你不能使用.ToString()。



quick'n'dirty解决方案是检索对象,将其转换为列表,以便查询执行数据库,然后从列表中创建视图对象,将.ToString()调用放在该代码中。

You cannot put a method call into the LINQ query that the provider cannot translate into SQL. So, you cannot use .ToString().

The quick'n'dirty solution is to retrieve the objects, convert it to a list so the query executes against the database and then create your view objects from the list, putting the .ToString() call in that code instead.
void BindGrid()
{
    using (QTEL_Entities qtl = new QTEL_Entities())
    {
        // Grab the data from the database.
        var dataItems = qtl.STATIONs.ToList();

        // Create view model objects from the data.
        var rslt = from item in dataItems
                   select new
                   {
                       id=q.ID_STATION,
                       lib=q.LIBELE_STATION,
                       typ=q.TYPE_STATION,
                       dsm=q.DATE_MS.ToString("yyyy-MM-dd")
                   };
               gridSample.DataSource = rslt.ToList();
               gridSample.DataBind();
           }
}


void BindGrid()
       {
           using (QTEL_Entities qtl = new QTEL_Entities())
           {
               var rslt = (from q in qtl.STATIONs
                          select new
                          {
                              id=q.ID_STATION,
                              lib=q.LIBELE_STATION,
                              typ=q.TYPE_STATION,
                              dsm=q.DATE_MS 
                          }).ToList().Select(x => new
                         {
                              id=x.id,
                              lib=x.lib,
                              typ=x.typ,
                              dsm=string.Format("{0:yyyy-MM-dd}", x.dsm), 
                         });
               gridSample.DataSource = rslt.ToList();
               gridSample.DataBind();
           }
       }


这篇关于如何在我的查询中显示ToShortDateString()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆