【发布时间】:2020-12-06 19:36:13
【问题描述】:
我想在 SQL 命令... count(column1.table1) as countname, sum(column2.table1) as sumname ... 中获取包含 count 列和 sum 列的行,但我不知道在 Linq 中编写它的正确方法,例如:
var get = (from dbrg in db.data_barangs
join pbrg in db.pengiriman_barangs
on dbrg.kode_barang equals pbrg.kode_barang
join jdkp in db.jadwal_kapals
on pbrg.id_jadwal equals jdkp.id_jadwal
join dplb in db.data_pelabuhans
on jdkp.kode_pelabuhan equals dplb.kode_pelabuhan
join drdp in db.data_redpacks
on dbrg.kode_barang equals drdp.kode_barang
select new
{
KodeBarang = dbrg.kode_barang,
TanggalKedatangan = jdkp.tgl_kedatangan,
WaktuKedatangan = jdkp.waktu_kedatangan,
NamaPelabuhan = dplb.nama_pelabuhan,
Kota = dplb.kota,
Provinsi = dplb.provinsi,
NamaKapal = jdkp.kapal,
JumlahPacking = drdp.id_jadwal.Count(),
TotalBerat = drdp.total_berat_packing.Sum()
}).ToList();
你们知道正确的方法吗?
【问题讨论】:
-
您是否要求在 LINQ to Entities 中替代
as关键字? -
您需要在选择之前使用group by。
-
@ArsenKhachaturyan 是的,因为我在
TotalBerat = drdp.total_berat_packing.Sum()上收到了'int' does not contain a definition for 'Sum'。 -
@WowoOt 我试过但得到错误异常,我很困惑
-
@robyiset "Wowo Ot" 建议是正确的,因为要在 LINQ 查询上使用聚合函数,您需要使用
GroupBy方法。以this帖子为例。
标签: c# asp.net linq linq-to-sql