Probleme beim Kombinieren von zwei Anweisungen in einem Controller. Beide Anweisungen funktionieren, können aber nicht als ein Element arbeiten.Verbinden von zwei Anweisungen im Controller
Erste Anweisung ist, Daten für einen Benutzer anzuzeigen, wenn sein Benutzername dem angemeldeten Benutzernamen entspricht Dies funktioniert einwandfrei.
public ViewResult Index()
{
var myrecords = db.Customers.Where(UserData => UserData.UserName.Equals
(User.Identity.Name)).ToList();
return View(myrecords);
}
Die zweite Anweisung dient zum Verbinden von Tabellen und zum Anzeigen der Daten. Das funktioniert einwandfrei.
var caradverts = db.CarAdverts.Include(c => c.BodyType).Include(c => c.Car).Include(c => c.Colour).Include(c => c.Customer).Include(c => c.EngineSize).Include(c => c.fuel).Include(c => c.SalesPlan).Include(c => c.Transmission).Include(c => c.year);
return View(caradverts.ToList());
Nun besteht das Problem darin, beide Anweisungen in einem zu verbinden, sodass nur die Daten für den angemeldeten Benutzer angezeigt werden. obwohl müssen alle diese Include
Anweisungen, die Sie wirklich
var caradverts = db.CarAdverts
.Include(c => c.BodyType)
.Include(c => c.Car)
.Include(c => c.Colour)
.Include(c => c.Customer)
.Include(c => c.EngineSize)
.Include(c => c.fuel)
.Include(c => c.SalesPlan)
.Include(c => c.Transmission)
.Include(c => c.year)
.Where(c => c.Customer.UserName == User.Identity.Name)
.ToList();
Sie:
Jede Beratung begrüßen
arbeitete nach Bedarf –
Für was es wert ist, sind die meisten dieser 'Include's vollständig redundant. Wenn einer von ihnen auf eine Navigationseigenschaft verweist, wird sie benötigt. Durch den Aufruf von "ToList" wird EF zum Laden der Entitätseigenschaften gezwungen. –