(Sumber: milist DOTNET) problems with linq
-
18 April 2012 8:31Moderator
dear all master..
saya mencoba untuk menggunakan linq to entity di DATA ACCESS dengan cara :
-----------------------------------------------------------------------
bukuEntities db = new bukuEntities();
public IQueryable<decimal> getHarga(int id)
{
var harga = from har in db.produk where har.id_kode_produk == id select har.harga;
return harga;
}
---------------------------------------------------------
dan untuk BUSSINESS ACCESS dengan cara
---------------------------------------------------------
public List<decimal> getHarga(int id)
{
penjualanDat harga = new penjualanDat();
return harga.getHarga(id).ToList();
}
-------------------------------------------------------------
maksud saya adalah untuk mengambil row harga berdasarkan id nya dari combo box sehingga muncul di textbox harganya :
-------------------------------------------------------------------------------------------------
private void cbxBarang_SelectedIndexChanged(object sender, EventArgs e)
{
penjualanBis harga = new penjualanBis();
int id = cbxBarang.SelectedIndex;
var har = Convert.ToString(harga.getHarga(id));
txtHarga.Text = harga;
}
----------------------------------------------------------------------------------------------------
nah kenapa munculnya " System.Collections.Generic.List`1[System.Decimal] ".......
ada yang salahkah dengan query linqnya atw ada permasalahan lainnya .??? ... trims
Agnes Sannie [MSFT]
MSDN Community Support | Feedback to us
Get or Request Code Sample from Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
Semua Balasan
-
18 April 2012 8:34Moderator
Masalah kamu adalah di baris ini:
var har = Convert.ToString(harga.getHarga(id));
Method getHarga akan mengambalikan List<decimal>, dan jika kamu melakukan Convert.ToString hasilnya pasti spt yg kamu tulis itu.
Kalau kamu cuma mau ambil satu nilai harga saja dengan asumsi satu id_kode_produk adalah satu harga, maka yg kamu kembalikan harusnya bukan List<decimal> tapi cukup decimal saja.
Jadi di bagian method getHarga harusnya diubah menjadi:
public decimal getHarga(int id)
{
penjualanDat harga = new penjualanDat();
return harga.getHarga(id).SingleOrDefault();
}
Dijawab oleh: Paulus ImanAgnes Sannie [MSFT]
MSDN Community Support | Feedback to us
Get or Request Code Sample from Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.- Ditandai sebagai Jawaban oleh Agnes SannieMicrosoft Contingent Staff, Moderator 18 April 2012 8:34