Флажок в TemplateField в Gridview теряет проверенную обратную передачу

ORMs имеют некоторые хорошие функции. Они могут обработать большую часть работы собаки копирования столбцов базы данных к полям объекта. Они обычно обрабатывают преобразование типов даты и времени языка к соответствующему типу БД. Они обычно обрабатывают связи "один ко многим" довольно изящно также путем инстанцирования вложенных объектов. Я нашел, разрабатываете ли Вы свою базу данных с достоинствами и недостатками ORM в памяти, это сохраняет большую работу во вкладывании данных и из базы данных. (Вы захотите знать, как это обрабатывает полиморфизм и many-many отношения, если необходимо отобразить их. Именно эти два домена обеспечивают большую часть 'несоответствия импеданса', которое выполняет некоторый вызов ORM 'Вьетнам информатики'.)

Для приложений, которые являются транзакционными, т.е. Вы выполняете запрос, получаете некоторые объекты, пересекаете их, чтобы получить некоторые данные и представить их на Веб-странице, налог на производительность является маленьким, и во многих случаях ORM может быть быстрее, потому что они будут кэшировать объекты, они замечены прежде, который иначе запросил бы базу данных многократно.

Для приложений, которые тяжелы созданием отчетов, или соглашение с большим количеством строк базы данных на запрос, налог ORM является намного более большим, и кэширование, которое они делают, превращается в большую, бесполезную нагрузку памяти-hogging. В этом случае простое отображение SQL (LinQ или iBatis) или кодированные рукой SQL-запросы в тонком DAL является способом пойти.

я нашел для любого крупномасштабного приложения, Вы будете использовать оба подхода. (ORM для простого CRUD и SQL DAL / тонкий DAL для создания отчетов).

10
задан Jhorra 15 October 2009 в 22:19
поделиться

1 ответ

Я думаю, что вам не хватает, когда вы нажимаете кнопку и ваша страница отправляется обратно, вы выполняете повторную привязку к gridview, вам нужно выполнить привязку в этом состоянии, например

 if (!Page.IsPostBack)
    {
        GridView1.DataSourceID = "yourDatasourceID";
        GridView1.DataBind();
    }
14
ответ дан 3 December 2019 в 22:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: