Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SQL到Linq数据时间_C#_Linq_Entity Framework - Fatal编程技术网

C# SQL到Linq数据时间

C# SQL到Linq数据时间,c#,linq,entity-framework,C#,Linq,Entity Framework,访问dateReceived时,我得到的值为 var oList = from oCI in db.clients where oCI.ClientRef == 20 select new { id = oCI.id, dateReceived = oCI.dateReceived, }; 而不是 /Date(134247

访问dateReceived时,我得到的值为

 var oList = from oCI in db.clients
             where oCI.ClientRef == 20
             select new
             {
                 id = oCI.id,
                 dateReceived = oCI.dateReceived,
             };
而不是

/Date(1342479600000)/ 
存储在数据库中

有人能帮忙吗

班级

2012-07-17 00:00:00.000

请改为尝试oCI.dateReceived.Value.Date。

以下内容可能会有所帮助:

oCI.dateReceived.ToLongDateString()

System.DateTime方法(LINQ到SQL)

您的问题不是从数据库获取日期,而是如何查看结果

将日期序列化为json字符串时,将获得下一个字符串

 public partial class client
    {
        public int id { get; set; }
        public long ClientRef { get; set; }
        public DateTime dateReceived { get; set; }

    }
它的正确序列化日期。对于“从此日期对象获取”,您可以使用如下示例正则表达式

/Date(1342479600000)/ 
注意:我认为最好是在调试器中监视值,或者在客户端发送日期的字符串表示,或者可能是unixtimestap

var serializedDate = "/Date(1342479600000)/";
var date = new Date(parseInt(serializedDate.match(/Date\((\d+)\)/)[1],10));

上面的返回日期是一个字符串,它可以工作

LINQ to实体中不支持指定的类型成员“日期”。只支持初始值设定项、实体成员和实体导航属性。哦,好的,谢谢你让我知道。我以为是。。。对不起!!如果使用EntityFunctions.TruncateTime(oCI.dateReceived.Value),会怎么样?但是你会浪费时间……我认为你遇到的问题可能与JSON有关,而不是查询本身。你如何序列化它?如果您使用的是System.Web.Script.Serialization.JavaScriptSerializer,那么问题可能就在这里。。您可能需要使用Newtonsoft.Json.JsonConvert.SerializeObject,而不是您可以提供
oCI
类声明吗?什么类型的
oCI.dateReceived
?它被选为新对象无需定义类
oCI
db.client中的项。它不是选定的匿名对象。请删除.Value并从EF返回可为空的日期时间,并让使用者自己检查可为空性/值。我们在这里假设您已将DateReceive映射为DateTime?而不是一些数字类型。你在哪里看到你得到的值?它是否显示在文本框中?您正在调试器中查看它吗?这看起来像一个Unix时间戳。如果你只做第一部分,它就不起作用了???(添加ToString)var oList=(从db.clients中的oCI中选择新的{id=oCI.id,dateReceived=oCI.dateReceived.ToString(),})。ToList()
 var oList = (from oCI in db.clients
             where oCI.ClientRef == 20
             select new
             {
                 id = oCI.id,
                 dateReceived = oCI.dateReceived,
             }).ToList().Select(o => new
                        {
                            id = o.id,
                            status = o.dateReceived.ToString()
});