c# - 获取错误 :The entity or complex type cannot be constructed in a LINQ to Entities query

标签 c# asp.net-mvc-3 linq

我创建了一个 View 模型:-

public class viewdata : Tool.Models.Administration.User
    {
        public string Categories { get; set; }
        public int RegionID { get; set; }
        public string RegionName { get; set; }
    }

它首先是在 Controller 中创建的..然后我将其位置更改为 Tool.Models.Derived.viewdata..然后在 Controller 中的 Lists Actionresult 中出现错误

public ActionResult Lists(int? page)
            {
                var ListIFC = (from f in _db.Users                          
                               where f.IsActive == 1 && f.UserType == 2
                               select new viewdata
                               {
                                   UserName=f.UserName,
                                   FirstName = f.FirstName,
                                   UserID=f.UserID
                               });
                List<Tool.Models.Derived.viewdata> obj = (List<Tool.Models.Derived.viewdata>)ListIFC.ToList();
                int pageSize = 3;
                int pageNumber = (page ?? 1);

               return View(obj.ToPagedList(pageNumber, pageSize));     
            }   

我收到这样的错误...

The entity or complex type 'Tool.Models.viewdata' cannot be constructed in a LINQ to Entities query.

最佳答案

你的陈述:

select new viewdata

您正在尝试将查询结果投影到派生自 Entity Framework 的类 viewdata。在 LINQ to entities projection 中,您不能这样做。相反,您可以创建一个临时类和项目到该项目或项目到 anonymous type .

关于c# - 获取错误 :The entity or complex type cannot be constructed in a LINQ to Entities query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16459359/

相关文章:

asp.net-mvc - 为什么我的 View 模型中的内部成员无法在 View 中访问?

asp.net - Linq 和 EF4,内连接条件语句

c# - LINQ:不同值和合并值

c# - Linq 查询重写

c# - 从类/对象列表中查找匹配字符串

c# - 我的网络应用程序应该有多大的弹性?

c# - 如何安全地配置数据库连接

c# - Entity Framework Core 使用 Windows 服务

javascript - 条件编译在混合 razor 和 javascript 时关闭警告

asp.net-mvc - 添加多对多关系,无需从数据库中获取子实体