0

全てにおいて良い日。

私はエンティティまたは複雑なタイプに遭遇できませんこのタイプのエラーに遭遇したのはこれが初めてです誰か助けてください

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();

上記の行のエラーは

System.NotSupportedException: エンティティまたは複合型 'Model.APPLICANT' は、LINQ to Entities クエリで構築できません。

4

1 に答える 1

0

あなたのクエリは、エンティティ型として登録された型のオブジェクトを構築しているように見えます。そのようなオブジェクトを select new{...} で初期化する必要はありません。

次のようにクエリを変更してみてください。

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
                 );
 ..........
于 2013-05-10T08:21:14.393 に答える