SELECT Meter.SerialNumber as serial,
SupplyPoint.Id as supplypoint,
SupplyType.Id as supplytype,
SupplyType.Name as supplytypename
FROM Meter
INNER JOIN SupplyPoint ON Meter.SupplyPointId = SupplyPoint.Id
INNER JOIN SupplyType ON SupplyPoint.SupplyTypeId = SupplyType.Id;
我有這個查詢,以便我可以根據它的序列找到儀表的電源類型。到目前爲止,我已經寫了這個函數:使用LINQ查詢SQL數據庫
var query = from meters in db.Meters
join supplyPoint in db.SupplyPoints on meters.SupplyPointId
equals supplyPoint.Id
join supplyType in db.SupplyTypes on supplyPoint.SupplyTypeId equals
supplyType.Id
select new { serial = meters.SerialNumber, type = supplyType.Name };
foreach (var meter in query)
{
if (meter.serial == serial)
return meter.type;
}
return "Meter Type Not Specified";`
所以我調用FindType(string serial)並返回類型。任何人都可以提出更好的代碼轉換這樣的查詢?任何有關LINQ的更多信息的方向也歡迎。
你到目前爲止嘗試過什麼?你的數據庫表是什麼樣的?你有沒有使用實體框架設置數據上下文? – slugster
你的轉換看起來不錯,但通常你會用LINQ來找到你的答案:'var ans =(從meter中查詢meter.serial ==串行選擇計量器).SingleOrDefault();返回(米==空)? 「未指定儀表類型」:meter.type;' – NetMage