var contacts = from c in db.Contact
                                                     join p in db.ContactGroup
                           on c.GroupId equals p.Id
                           select new ContactViewModel
                           {
                               c.Id,
                               c.Name,
                               c.Phone,
                               c.Email,
                               c.GroupId,
                               p.GroupName
                           };

解决方案 »

  1.   

    你的问题在于 查询时用了匿名类,在ToList()转化时当然出错了
      

  2.   

    List<ContactViewModel> models= contacts.Select(x => new ContactViewModel() { xx = x.xx, yy = x.yy, ... })ToList(); 
      

  3.   

      var contacts = from c in db.Contact
                                                         join p in db.ContactGroup
                               on c.GroupId equals p.Id
                               select new ContactViewModel
                               {
                                   c.Id,
                                   c.Name,
                                   c.Phone,
                                   c.Email,
                                   c.GroupId,
                                   p.GroupName
                               };
    这样写报错;
    ----------------------------
    List<ContactViewModel> models= contacts.Select(x => new ContactViewModel() { xx = x.xx, yy = x.yy, ... })ToList();  可以!!
    谢谢!
    看看大家是否还有其他方法,一会给分!