2013-05-10 68 views
0

所有的好日子。错误:无法在LINQ to Entities查询中构造实体或复杂类型ASP.NET MVC3

林有实体或复杂类型不能碰到这是我第一次遇到这种类型的错误有人能帮助我

public IEnumerable<APPLICANT> GetApplicant() 
{ 
    IEnumerable<APPLICANT> applicantdata = Cache.Get("applicants") as IEnumerable<APPLICANT>; 

    IEnumerable<Profile> profiledata = Cache.Get("profiles") as IEnumerable<Profile>; 




    if (applicantdata == null) 
    { 

     var applicantList = (from a in context.Profiles 
          join app in context.APPLICANTs 
          on a.PROFILE_ID equals app.Profile_id 
          where app.APPLICANT_LogicalDelete == false 
          select new APPLICANT() 
          { 
      APPLICANT_LastName = a.Applicant_LASTNAME, 
      APPLICANT_FirstName = a.Applicant_FIRSTNAME, 
      APPLICANT_MiddleName = a.Applicant_MIDDLENAME, 
      APPLICANT_Address = a.Applicant_ADDRESS, 
      APPLICANT_City = a.Applicant_CITY, 
      APPLICANT_Phone = a.Applicant_PHONE, 
      APPLICANT_Email= a.Applicant_EMAIL 
     }); 

     applicantdata = applicantList.Where(v => !String.IsNullOrEmpty(v.APPLICANT_LastName)).OrderBy(v => v.APPLICANT_ID).ToList(); 

     if (applicantdata.Any())  
     { 
      Cache.Set("applicants", applicantdata, 30); 
     } 
    } 
    return applicantdata.ToList().Take(1000); 

} 

,这是我遇到的错误感谢就行了!

applicantdata = applicantList.Where(v => !String.IsNullOrEmpty(v.APPLICANT_LastName)).OrderBy(v => v.APPLICANT_ID).ToList(); 

并在LINE上述错误IS

System.NotSupportedException:实体或复杂类型“Model.APPLICANT”不能在LINQ被构造成实体查询。

回答

0

它在我看来,你的查询构造注册为实体类型的类型的对象。您不需要通过选择新的{...}来创建这些对象。

试图改变您的查询是这样的:

var applicantList = (from a in context.Profiles 
         join app in context.APPLICANTs 
         on a.PROFILE_ID equals app.Profile_id 
         where app.APPLICANT_LogicalDelete == false 
         select app 
       ); 
.......... 
相关问题