Saya pikir Anda sebagian besar menjawab pertanyaan Anda. Perhitungan harus dilakukan di server database dan Anda hanya ingin mendapatkan hasil, bukan? Jika Anda menggunakan SQL Server 2008 Anda dapat membuat prosedur tersimpan yang menerima parameter bernilai tabel
. Sekarang Anda dapat memanggil prosedur ini langsung menggunakan ADO.NET
atau menggunakan EF dan context.ExecuteStoreQuery
di mana Anda masih melewati DataTable
ke SqlParameter
dengan SqlDbType.Structured
.
Jika Anda tidak menggunakan SQL Server 2008 Anda memerlukan prosedur tersimpan dengan satu parameter nvarchar besar yang melewati seluruh daftar sebagai string yang dibatasi koma. Prosedur tersimpan Anda pertama-tama akan mengurai daftar ini ke tabel sementara dan kemudian memproses perhitungan dengan cara yang sama seperti dengan parameter nilai tabel.