首页 文章

无法在LINQ to Entities查询中构造实体或复杂类型'xxxx_DataModel.paytypes'

提问于
浏览
1

使用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);
        }


    }

2 回答

  • 0

    从您的代码中可以看出,数据库中的某个数据类型已被定义为Image . 据我所知,EF不支持此数据类型,这就是您收到此错误的原因 .

  • 0

    好的,解决方案就是这样 . 有没有比这更短的方式?或者每次我都要经历这种重复写作的痛苦?

    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();
    

相关问题