可以做些什麼嗎?Linq Sum inline
實體(3個屬性)
--->的INT A
---> INT乙
--->詮釋三
from record in dbset
select new Entity
{
A = record.A
B = record.B
C = A * B
}
可以做些什麼嗎?Linq Sum inline
實體(3個屬性)
--->的INT A
---> INT乙
--->詮釋三
from record in dbset
select new Entity
{
A = record.A
B = record.B
C = A * B
}
使用object initialization syntax時,您只能將屬性分配給施工時可用的字段。所以,如果您想從A
和B
中計算出C
,則有兩種選擇。你可以閱讀這些屬性關閉的record
:
from record in dbset
select new Entity
{
A = record.A
B = record.B
C = record.A * record.B
}
更復雜的情況可能會使它站不住腳重複的A
和B
定義以這種方式。例如,重複一個關於如何計算這些屬性的長定義可能在計算上是昂貴的。當類似的代碼重複時,閱讀也很難。在這些情況下,您可能希望有一個收集相關信息的媒介選擇類決賽前選擇:
from record in dbset
select new { A = someComplicatedFunction(record.A), B = someComplicatedFunction(record.B) } into info
select new Entity { A = info.A, B = info.B, C = info.A * info.B }
當然,如果C
始終會計算過的A
和B
,那麼你可以做一個getter屬性,正如@ vc74所建議的
在這個具體的例子中,使用
from record in dbset
select new Entity
{
A = record.A
B = record.B
C = record.A * record.B
}