Betrachten Sie die Funktion:leer Lambda-Ausdruck erstellen
public async Task<IEnumerable<Purchases>> GetPurchases(User user, Expression<Func<Purchases, bool>> whereClause)
{
using (var context = new UserDbContext())
{
context.Users.Attach(user);
context.Entry(user).Collection(p => p.Purchases)
.Query()
.Where(whereClause)
.Load();
if (Equals(user.Purchases, null))
return new List<Purchases>();
}
return user.Purchases;
}
In dieser Funktion die Parameter Whereclause manchmal null
sein kann, ich bin zu wollen, wenn sein null prüfen und dann einen leeren Ausdruck zuweisen, wenn so. Das ist so nah wie ich gekommen bin:
if (Equals(whereClause, null))
whereClause =() => { };
Dies wurde auf der Grundlage der Frage here, sondern auch für die Linie, die macht Whereclause leer Ich bin den Fehler.
Fehler 7 Nicht alle Codepfade einen Wert zurückgeben in Lambda-Ausdruck vom Typ 'System.Func' < 'Käufe, bool>'
Wer weiß, wie dies korrigiert werden?
Yessir! Perfecto. –