可以做些什么吗?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
}