Ich verwende Entity Framework in meinem C # -basierten Code. Ich stoße auf eine unerwartete Verrücktheit und suche nach Vorschlägen.
Fall 1, 2, 3, 4 ... Projekte:
RivWorks.dll
RivWorks.Service.dll
RivWorks.Alpha.dll
Beispiele (all diese Arbeiten):
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();
}
etc
Fall "Verrücktheit":
RivWorks.Web.Service.dll (WCF-Projekt)
Enthält dieselben Referenzen wie die anderen Projekte.
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();
...
}
Ich erhalte diesen Fehler bei der Kompilierung (das Wort "where" wird in meinem Editor hervorgehoben): Der
Lambda-Ausdruck kann nicht in den Typ "string" konvertiert werden, da es sich nicht um einen Delegatentyp handelt
Irgendwelche Ideen, was das verursachen würde?
FirstOrDefault
Was passiert, wenn Sie den Anruf entfernen ? Natürlich wird es fehlschlagen, wenn Sie versuchen, esproduct
später zu verwenden , aber wird diese Anweisung kompiliert?