【问题标题】:The entity or complex type 'xxxx_DataModel.paytypes' cannot be constructed in a LINQ to Entities query无法在 LINQ to Entities 查询中构造实体或复杂类型“xxxx_DataModel.paytypes”
【发布时间】:2023-03-30 09:29:02
【问题描述】:

使用 ToObservableCollection() 时出现以下错误有什么想法吗?

EntityFramework.SqlServer.dll 中出现“System.NotSupportedException”类型的异常,但未在用户代码中处理

附加信息:无法在 LINQ to Entities 查询中构造实体或复杂类型“xxxx_DataModel.paytypes”。

var payTypes = (from payTypeTbl in Db.paytypes
                       where payTypeTbl.bActive == true
                       select new paytypes
                       {
                           iPayTypeId = payTypeTbl.iPayTypeId,
                           sImg = @"img\" + payTypeTbl.sImg,
                           sPayTypeName = payTypeTbl.sPayTypeName,
                       }
                              ).ToObservableCollection();



public static class Extensions
    {
        public static ObservableCollection<T> ToObservableCollection<T>(this IEnumerable<T> col)
        {
            return new ObservableCollection<T>(col);
        }


    }

【问题讨论】:

  • paytypes 是在您的源代码库中定义的类吗?
  • 没错,就是ADO.NET实体框架类

标签: c# entity-framework linq


【解决方案1】:

从您的代码看来,您在数据库中的一种数据类型已被定义为 Image。据我所知,EF 不支持此数据类型,这就是您收到此错误的原因。

【讨论】:

    【解决方案2】:

    好的,解决方案是这样的。有比这更短的方法吗?还是每次我都要经历写重复的痛苦?

     PayType = (from payTypeTbl in Db.paytypes
                               where payTypeTbl.bActive == true
                               select new
                               {
                                   iPayTypeId = payTypeTbl.iPayTypeId,
                                   sImg = payTypeTbl.sImg,
                                   sPayTypeName = payTypeTbl.sPayTypeName,
    
                               }).ToList().Select(x => new paytypes {
                                   iPayTypeId = x.iPayTypeId,
                                   sImg = @"img\" + x.sImg,
                                   sPayTypeName = x.sPayTypeName,
                               } ).ToObservableCollection();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-11
      • 2017-05-31
      • 2015-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多