【发布时间】:2015-03-10 04:33:36
【问题描述】:
我有一个包含 3 个表的数据库:
- 电话
- 电话列表
- 电话条件
PhoneListings 具有来自 Phones 表 (PhoneID) 的 FK,以及来自 Phone Conditions 表 (conditionID) 的 FK
我正在开发一个函数,该函数将电话列表添加到用户的购物车,并返回用户的所有必要信息。电话品牌和型号包含在 PHONES 表中,有关 Condition 的详细信息包含在 PhoneConditions 表中。
目前我正在使用 3 个查询来获取所有必要的信息。有没有办法将所有这些组合到一个查询中?
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();
}
【问题讨论】:
-
你合并的理由是什么?
-
只是这样我就可以从一个对象中获取我需要的所有信息,而不必参考三个不同的对象。可能有点矫枉过正,但我认为学习如何做到这一点是值得的。
标签: c# asp.net sql-server asp.net-mvc linq