LINQ to Entities не распознает метод '<> f__AnonymousType4`1 [System.String] get_Item (Int32)' - PullRequest
0 голосов
/ 04 августа 2020

, пожалуйста, я работаю над проектом ASP. NET MVC с Entity Framework, я пытаюсь использовать этот запрос, но получаю ошибку.

Запрос:

var R = (from A in SCHOOL_DB_Context.Con.ABS where A.STG_ABS == STG && (A.DT_ABS.Month + "/" + A.DT_ABS.Year) == MONTHS[i].MONTH && A.DT_ABS.Hour == Hour select A).ToList();

Ошибка:

LINQ to Entities не распознает метод '<> f__AnonymousType4`1 [System.String] get_Item (Int32) ', и этот метод не может быть переведен в выражение для хранилища.

Полный код:

    var MONTHS = (from A in SCHOOL_DB_Context.Con.ABS where A.STG_ABS == STG && A.DT_ABS.Hour == Hour group A by A.DT_ABS.Month + "/" + A.DT_ABS.Year into G select new { MONTH = G.Key }).ToList();

    List<DataPoint> DATA = new List<DataPoint>();

    List<DataPoint> DTP = new List<DataPoint>();

    if (MONTHS.Count == 0)
    {

        DTP.Add(new DataPoint(null, null));

    }
    else
    {

        for (int i = 0; i < MONTHS.Count; i++)
        {

            var R = (from A in SCHOOL_DB_Context.Con.ABS where A.STG_ABS == STG && (A.DT_ABS.Month + "/" + A.DT_ABS.Year) == MONTHS[i].MONTH && A.DT_ABS.Hour == Hour select A).ToList();

            int Count = 0;

            Count = R.Count;


            //DATA.Add(new DataPoint(MONTHS[i].MONTH, Count));



            DTP.Add(new DataPoint(MONTHS[i].MONTH, Count));

        }

    }

Пожалуйста, помогите решить эту проблему. ?

1 Ответ

0 голосов
/ 04 августа 2020

Попробуйте вытащить индексатор из вторичного запроса:

 var month = MONTHS[i].MONTH;

 var R = (from A in SCHOOL_DB_Context.Con.ABS  
          where A.STG_ABS == STG 
             && (A.DT_ABS.Month + "/" + A.DT_ABS.Year) == month 
             && A.DT_ABS.Hour == Hour
          select A).ToList();

Вы все равно можете получить сообщение об ошибке, объединяющее месяц и год в виде строки - если вы это сделаете, моим следующим предложением будет вытащить месяц и год отдельно в запросе MONTHS и независимо сравните два значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...