Структура предприятия - не Может преобразовать выражение лямбды, чтобы напечатать 'последовательность', потому что это не тип делегата

Я использую Структуру Предприятия в своем C# базирующийся кодекс. Я сталкиваюсь с неожиданной странностью и ищу предложения.

Случай 1, 2, 3, 4... Проекты:
RivWorks.dll
RivWorks.Service.dll
RivWorks.Alpha.dll

Образцы (все они работают):
RivWorks.Alpha.dll:

public static bool EndNegotitation(long ProductID)
{
    var product = (from a in _dbFeed.AutoWithImage 
                   where a.AutoID == ProductID select a).FirstOrDefault();
...
}

RivWorks.Service.dll

public static RivWorks.Model.NegotiationAutos.AutoWithImage 
    GetProductById(long productId)
{
    var myProduct = from a in _dbFeed.AutoWithImage 
                    where a.AutoID == productId select a;

    return myProduct.FirstOrDefault();
}
public static List<RivWorks.Model.NegotiationAutos.AutoWithImage> 
    GetProductByCompany(Guid companyId)
{
    var myProduct = from a in _dbFeed.AutoWithImage 
                    where a.CompanyID == companyId select a;

    return myProduct.ToList();
}

и т.д.

Случай «странность»:
RivWorks.Web.Service.dll (проект WCF)
Содержит те же ссылки как другие проекты.

public NegotiateSetup GetSetup(string method, string jsonInput)
{
    ...
    long.TryParse(ProductID, out result);
    var product = (from a in _dbFeed.AutoWithImage 
                   where a.AutoID == result select a).FirstOrDefault();
    ...
}

Я получаю эту ошибку времени компиляции (слово, «где» подчеркнут в моем редакторе):
Не может преобразовать выражение лямбды, чтобы напечатать 'последовательность', потому что это не тип делегата

Какие-либо идеи, что вызвало бы это?

72
задан Justin Niessner 13 January 2010 в 16:48
поделиться

2 ответа

Для тех, кто заинтересован в результате:
Мне не хватало простого, используя оператор во главе моего кода.

using System.Linq;

Это исправило это прямо.

111
ответ дан 24 November 2019 в 12:27
поделиться

В моем случае, у меня было

Using System.Linq;

но не хватало && после пункта where.

Плохой код:

item.Group.ID == grp.ID
p.Product_Status_Flag == 1 &&
item.Valid

Правильный код (без ошибок):

item.Group.ID == grp.ID && // <- This was missing and I didn't see it right away.
p.Product_Status_Flag == 1 &&
item.Valid

Надеюсь, это сэкономит кому-нибудь время.

7
ответ дан 24 November 2019 в 12:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: