Mam bazę danych, która zawiera 3 tabele:LINQ: Czy istnieje sposób na połączenie tych zapytań w jeden?
- Telefony
- PhoneListings
- PhoneConditions
PhoneListings ma FK z tabeli komórkowe (phoneid) i FK z telefonu Tabela warunków (conditionID)
Pracuję nad funkcją, która dodaje do spisu telefonów spis telefonów i zwraca wszystkie niezbędne informacje rmacja dla użytkownika. Model telefonu i model są zawarte w tabeli PHONES, a szczegóły dotyczące warunku znajdują się w tabeli PhoneConditions.
Aktualnie używam 3 zapytań, aby uzyskać wszystkie niezbędne informacje. Czy istnieje sposób, aby połączyć to wszystko w jedno zapytanie?
public ActionResult phoneAdd(int listingID, int qty)
{
ShoppingBasket myBasket = new ShoppingBasket();
string BasketID = myBasket.GetBasketID(this.HttpContext);
var PhoneListingQuery = (from x in myDB.phoneListings
where x.phonelistingID == listingID
select x).Single();
var PhoneCondition = myDB.phoneConditions
.Where(x => x.conditionID == PhoneListingQuery.phonelistingID).Single();
var PhoneDataQuery = (from ph in myDB.Phones
where ph.PhoneID == PhoneListingQuery.phonePageID
select ph).SingleOrDefault();
}
jakie jest twoje uzasadnienie dla łączenia? –
Po prostu mogę uzyskać wszystkie potrzebne informacje z jednego obiektu, zamiast odnosić się do trzech różnych obiektów. Może być przesada, ale myślę, że nauka tego, jak to zrobić, byłaby opłacalna. – user1698144
Możesz również użyć sprzężenia https://msdn.microsoft.com/en-us/library/vstudio/bb534675(v=vs.100).aspx – Peyman