С изменениями gridview, как вернуться к источнику данных?

С появлением новых фреймворков в .NET (4.5, 4.0, 3.5 и т. д.) и многими другими функциями... Существует ли простой/прямой путь с менее оптимизированным кодом для отслеживания изменений данных Gridview и обновления их до DataSource (база данных SQL Server) намного эффективнее для достижения высокой производительности?

Поскольку я столкнулся с разными способами обновления изменений обратно в источник данных. Но мне нужно очень оптимизировать, используя новые концепции или функции фреймворка.

если нет лучшего способа, пожалуйста, помогите мне, как обновить изменения Gridview в DataSource в концепции двунаправленной привязки данных для повышения производительности.

Пример таблицы данных:

Skill_Name  Q1  Q2  Q3  Q4
dotnet      40  20  30  60
java        10  20  60  70
Testing     50  30  55  35
SAP         70  45  25  90
Databases   100 200 300 400

Вывод сетки: введите здесь описание изображения

Если пользователь внес некоторые изменения в сетку и нажал кнопку Save To DB, то как изменения будут отслеживаться и обновляться в БД оптимизированным способом для достижения ВЫСОКОЙ производительности.

В настоящее время я обновляю каждую строку за строкой в ​​БД. Это приводит меня на сайт очень медленно.

Пожалуйста, помогите мне лучше.


person venkat    schedule 14.03.2012    source источник


Ответы (1)


Используйте хранимую процедуру с параметрами табличных значений

http://msdn.microsoft.com/en-us/library/bb510489.aspx

и сделать MERGE

http://technet.microsoft.com/en-us/library/bb510625.aspx

person Jakub Konecki    schedule 14.03.2012
comment
Во-первых, как отслеживать изменения gridview в datatable или любом объекте коллекции и обновлять их обратно в БД? - person venkat; 14.03.2012
comment
Я бы просто передал всю модель представления в действие контроллера (я предполагаю, что вы используете правильные модели представлений), а затем передал ее на уровень обслуживания (я предполагаю, что у вас есть уровень обслуживания) после сопоставления моделей с dtos с помощью AutoMapper. Я не знаю, как выглядит ваша архитектура, поэтому трудно сказать. - person Jakub Konecki; 15.03.2012