Не удается неявно преобразовать анонимный стиль # 1 в объект - PullRequest
0 голосов
/ 27 апреля 2018

Я пытаюсь присоединиться к LINQ & Lambda. Но получение сообщения об ошибке не может неявно преобразовать анонимный стиль # 1 в BRAND_NAME_MAP_ID. Я довольно новичок в Lambdas и застрял здесь.

public BRAND_NAME_MAP_MASTER GetBrandNameBrandNameMapID(int BrandNameMapID)
{
    PFC_BRAND_NAME_MAP_MASTER objBrandNameMap = Db.PFC_BRAND_NAME_MAP_MASTERs
        .Join(SIRDC.INGREDIENT_BRAND_NAME_MAPs,
              a => a.BRAND_NAME_MAP_ID, 
              b => b.BRAND_NAME_MAP_ID,
              (a, b) => new {a, b})
        .Where(x => x.a.BRAND_NAME_MAP_ID == PFCBrandNameMapID)
        .FirstOrDefault(); //Getting error here

    return objPFCBrandNameMap;
}

1 Ответ

0 голосов
/ 27 апреля 2018

Ваш запрос возвращает анонимный тип, содержащий два свойства, a - это PFC_BRAND_NAME_MAP_MASTER, а b - это INGREDIENT_BRAND_NAME_MAP. Похоже, вам нужно только первое свойство, поэтому просто добавьте Select, чтобы получить его:

PFC_BRAND_NAME_MAP_MASTER objBrandNameMap = Db.PFC_BRAND_NAME_MAP_MASTERs
    .Join(SIRDC.INGREDIENT_BRAND_NAME_MAPs,
          a => a.BRAND_NAME_MAP_ID, 
          b => b.BRAND_NAME_MAP_ID,
          (a, b) => new {a, b})
    .Where(x => x.a.BRAND_NAME_MAP_ID == PFCBrandNameMapID)
    .Select(x => x.a) /Add this line
    .FirstOrDefault();
...