只有无参构造函数初始化和LINQ中支持到实体 [英] Only parameterless constructors and initializers are supported in LINQ to Entities

查看:337
本文介绍了只有无参构造函数初始化和LINQ中支持到实体的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有有同样的问题,几个相同的问题。但我不能找到解决方案给我。

的LinQ

  VAR的结果=(来自于entity.TblAnalizorReadings
             通过新{日期组=新日期时间(((DATETIME)a.okuma_tarihi).Year,((日期时间)a.okuma_tarihi).Month,((日期时间)a.okuma_tarihi)·天,((日期时间)a.okuma_tarihi )·小时,0,0)}到g中
             选择新AnalizorPivotChartModel
             {
                  okuma_tarihi = g.Key.date,
                  Gerilim_Faz1 =栽培大豆(X => x.Gerilim_Faz1)
                  Gerilim_Faz2 =栽培大豆(X => x.Gerilim_Faz2)
                  Gerilim_Faz3 =栽培大豆(X => x.Gerilim_Faz3)
              })了ToList()。

型号

 公共类AnalizorPivotChartModel
{
    公众可空<&System.DateTime的GT; okuma_tarihi {搞定;组; }
    公众可空<&小数GT; Gerilim_Faz1 {搞定;组; }
    公众可空<&小数GT; Gerilim_Faz2 {搞定;组; }
    公众可空<&小数GT; Gerilim_Faz3 {搞定;组; }
}

我收到错误消息,因为这个问题称号。如果neccesary我可以写更多code。

感谢。


解决方案

  VAR的结果= entity.TblAnalizorReadings
    .GroupBy(一个= GT;
        新{
            ((日期时间)a.okuma_tarihi).Year,
            ((日期时间)a.okuma_tarihi).Month,
            ((日期时间)a.okuma_tarihi)·天,
            ((日期时间)a.okuma_tarihi)·小时
        },
        (K,G)=>新{
            okuma_tarihi = k时,
            Gerilim_Faz1 =栽培大豆(X => x.Gerilim_Faz1)
            Gerilim_Faz2 =栽培大豆(X => x.Gerilim_Faz2)
            Gerilim_Faz3 =栽培大豆(X => x.Gerilim_Faz3)
        })
    .AsEnumerable()
    。选择(G =>新建AnalizorPivotChartModel
         {
              okuma_tarihi =新日期时间(okuma_tarihi.Year,okuma_tarihi.Month,okuma_tarihi.Day,okuma_tarihi.Hour,0,0),
              Gerilim_Faz1 = g.Gerilim_Faz1,
              Gerilim_Faz2 = g.Gerilim_Faz2,
              Gerilim_Faz3 = g.Gerilim_Faz3
          })
    .ToList();

There are several same questions that have same problem. But I cant find solution for me.

LinQ

var result = (from a in entity.TblAnalizorReadings
             group a by new { date = new DateTime(((DateTime)a.okuma_tarihi).Year, ((DateTime)a.okuma_tarihi).Month, ((DateTime)a.okuma_tarihi).Day, ((DateTime)a.okuma_tarihi).Hour, 0, 0) } into g
             select new AnalizorPivotChartModel
             {
                  okuma_tarihi = g.Key.date,
                  Gerilim_Faz1 = g.Max(x => x.Gerilim_Faz1),
                  Gerilim_Faz2 = g.Max(x => x.Gerilim_Faz2),
                  Gerilim_Faz3 = g.Max(x => x.Gerilim_Faz3)
              }).ToList();

Model

public class AnalizorPivotChartModel
{
    public Nullable<System.DateTime> okuma_tarihi { get; set; }
    public Nullable<decimal> Gerilim_Faz1 { get; set; }
    public Nullable<decimal> Gerilim_Faz2 { get; set; }
    public Nullable<decimal> Gerilim_Faz3 { get; set; }
}

I get error message as this question title. I can write more code if its neccesary.

Thanks.

解决方案

var result = entity.TblAnalizorReadings
    .GroupBy(a =>
        new {
            ((DateTime)a.okuma_tarihi).Year,
            ((DateTime)a.okuma_tarihi).Month,
            ((DateTime)a.okuma_tarihi).Day,
            ((DateTime)a.okuma_tarihi).Hour
        },
        (k, g) => new {
            okuma_tarihi = k,
            Gerilim_Faz1 = g.Max(x => x.Gerilim_Faz1),
            Gerilim_Faz2 = g.Max(x => x.Gerilim_Faz2),
            Gerilim_Faz3 = g.Max(x => x.Gerilim_Faz3)
        })
    .AsEnumerable()
    .Select(g => new AnalizorPivotChartModel
         {
              okuma_tarihi = new DateTime(okuma_tarihi.Year, okuma_tarihi.Month, okuma_tarihi.Day, okuma_tarihi.Hour, 0, 0),
              Gerilim_Faz1 = g.Gerilim_Faz1,
              Gerilim_Faz2 = g.Gerilim_Faz2,
              Gerilim_Faz3 = g.Gerilim_Faz3
          })
    .ToList();

这篇关于只有无参构造函数初始化和LINQ中支持到实体的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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