實體框架 - 無法將lambda表達式轉換為類型'string',因為它不是委託類型

.net c# entity-framework lambda

我在基於C#的代碼中使用Entity Framework。我遇到了意想不到的怪異,正在尋找建議。

案例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();
    ...
}

我收到此編譯時錯誤(在我的編輯器中突出顯示“where”一詞):
無法將lambda表達式轉換為類型'string',因為它不是委託類型

任何想法會導致什麼?

一般承認的答案

對於那些對結果感興趣的人:
我在代碼的頭部缺少一個簡單的Using語句。

using System.Linq;

這修正了它。


熱門答案

在我的情況下它失踪了

using System.Data.Entity;



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因