Есть ли у EntityDataSource какое-либо преимущество в производительности по сравнению с программной привязкой?

#asp.net #entity-framework #data-binding

#asp.net #entity-framework #привязка к данным

Вопрос:

Я работаю над сильно управляемым данными ASP.NET приложение web forms. Мы используем Entity Framework 4.1, и я обычно привык обходить привязку к данным всех моих элементов управления в коде позади. Я сталкивался со множеством примеров использования EntityDataSource ASP.NET управление и мне интересно, есть ли какое-либо преимущество в использовании этого элемента управления в отличие от привязки данных к исходному коду?

Спасибо, J

Ответ №1:

Я всегда считал «специализированные» источники данных рискованными и противоречащими многоуровневым приложениям. EntityDataSource, SqlDataSource, LinqDataSource, назовите это, вы предоставляете низкоуровневые сведения о доступе в своем декларативном коде. Это отлично подходит для демонстрационного веб-сайта, но потенциально может вызвать серьезные проблемы на большом.

Рассматривали ли вы вместо этого использование ObjectDataSource ? Это могло бы обеспечить лучшее из двух — вы предоставляете чистую декларативную привязку, поэтому не требуется код привязки, но DataProvider (или Repository ) класс, который в конечном итоге предоставляет данные, должен быть написан на C #. Из такого класса вы можете использовать любую технологию доступа к данным, EF, Linq, SQL, что угодно.

Комментарии:

1. 1 для ObjectDataSource , другие упомянутые источники данных определенно предназначены только для простых демонстрационных сайтов.

2. Спасибо Виктору и Гарри! Я подозревал, что это так, но не был слишком уверен и не смог найти никаких очевидных ответов в Google.

Ответ №2:

Смотрите обсуждение EntityDataSource против ObjectDataSource в

http://www.asp.net/entity-framework/tutorials/using-the-entity-framework-and-the-objectdatasource-control,-part-1-getting-started