0
我附加了一個簡單的LINQ查詢。 我想知道是否有更好和有效的方法來拉動這三個字段(Field1,Field2,Field3),如下面的LINQ查詢中所述。優化Linq查詢
from currentCons in ActiveConnections
join accounts in Accounts on currentCons.New_AccountId equals accounts.AccountId
let Field1 =(from holder in MapHolders
join entity in Entities on stringmap.ObjectTypeCode equals entity.ObjectTypeCode
where entity.Name == "New_Connection"
where holder.AttributeName == "New_Data"
where holder.AttributeValue == currentCons.New_DATA_Val
select holder.Value)
let Field2=(from holder in MapHolders
join entity in Entities on stringmap.ObjectTypeCode equals entity.ObjectTypeCode
where entity.Name == "New_Connection"
where holder.AttributeName == "New_Type"
where holder.AttributeValue == currentCons.New_Type
select holder.Value)
let Field3=(from holder in MapHolders
join entity in Entities on stringmap.ObjectTypeCode equals entity.ObjectTypeCode
where entity.Name == "New_Connection"
where holder.AttributeName == "New_EntryPoint"
where holder.AttributeValue == currentCons.New_EntryPoint
select holder.Value)
where currentCons.ModifiedOn >= Convert.ToDateTime("1/1/2011")
where currentCons.ModifiedOn <= Convert.ToDateTime("5/5/2012")
select new
{
conId = currentCons.ConnectionId,
ConName = currentCons.name,
TypeId = currentCons.Type,
AccountId = currentCons.AccountId,
OId = currentCons.OwnerId,
BandwidthId = currentCons.Bandwidth,
EntryPointId = currentCons.EntryPoint,
Cap = Field1 ,
Dir=Field2,
EP=Field3,
ModifiedOn = currentCons.ModifiedOn
}
我知道另一種方式是直接放入選擇塊。什麼是有效的方法來做到這一點?
任何指針表示讚賞。
謝謝。
什麼LINQ提供您正在使用可空用下面的? LINQ to SQL? LINQ to Entities?還有別的嗎? – svick
我在這裏使用LINQ To SQL。 – Tabish