2013-05-09 48 views
2

我创建了一个视图模型: -四处错误:实体或复杂类型不能在LINQ构建以查询实体

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

这是第一次内部Controller..Then创建我改变了它的位置工具。 Models.Derived.viewdata..Then我得到的错误里面列出在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. 

回答

0

同你说:

select new viewdata 

您正在试图投影手机查询结果您viewdata类,这是从实体框架推导。你不能做到这一点在LINQ to entities projection。相反,您可以创建一个临时类和项目到anonymous type

+0

如果我创建内部控制器临时类,是在业务层 – Mizbella 2013-05-09 10:17:54

+0

@Mizbella访问,我想不会,通常控制器具有参考业务层,这样你就可以定义从控制器 – Habib 2013-05-09 10:18:54

+0

在业务层的temporay类和访问谢谢...我将我的课程复制到业务层..现在它工作正常.. – Mizbella 2013-05-09 12:20:25

相关问题