Volgens mij heb je je vraag grotendeels beantwoord. Berekening moet worden gedaan op de databaseserver en u wilt gewoon resultaat krijgen, nietwaar? Als u SQL Server 2008 gebruikt, kunt u een opgeslagen procedure maken die tabelwaardeparameter accepteert
. Nu kunt u deze procedure ofwel rechtstreeks aanroepen met ADO.NET
of met EF en context.ExecuteStoreQuery
waar je nog steeds DataTable
passeert naar SqlParameter
met SqlDbType.Structured
.
Als u geen SQL Server 2008 gebruikt, hebt u een opgeslagen procedure nodig met één grote nvarchar-parameter die de hele lijst doorgeeft als een door komma's gescheiden tekenreeks. Uw opgeslagen procedure zal eerst deze lijst ontleden naar een tijdelijke tabel en verwerk de berekening vervolgens op dezelfde manier als met de tabelwaardeparameter.