2013-05-10 41 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 
       ); 
.......... 
相關問題