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.