5
Zastanawiam się, czy to możliwe, aby uzyskać tej pracy:Minimalistyczne podejście LINQ - System.NullReferenceException
product.PrimaryImage = db.ProductImages
.Where(p => p.Product.ID == product.ID)
.OrderBy(p => p.Order ?? 999999)
.ThenBy(p => p.ID)
.FirstOrDefault()
.Name;
db.SaveChanges();
Działa dopóki nie ma więcej zdjęć do tego produktu, w którym to momencie rzuca ...
System.NullReferenceException: Object reference not set to an instance of an object.
Zrobiłem dla niego poprawkę, ale wolałbym zachować ją tak minimalną, jak to tylko możliwe i pozostać w Linq, więc liczyłem na to, że istnieje sposób, aby moje wstępne oświadczenie mogło funkcjonować.
Brzydki fix:
ProductImages primaryProductImage = db.ProductImages.Where(p => p.Product.ID == product.ID).OrderBy(p => p.Order ?? 999999).ThenBy(p => p.ID).FirstOrDefault();
string primaryImage = (primaryProductImage != null) ? primaryProductImage.Name : null;
product.PrimaryImage = primaryImage;
db.SaveChanges();
działa idealnie. Dziękuję bardzo, bardzo dużo dtb. – Oppdal