В чем разница между адаптером таблицы sql и моделью entity Framework?

#c# #asp.net

#c# #asp.net

Вопрос:

Похоже, что они оба создают классы на основе схемы базы данных. Почему вы используете модель entity Framework вместо адаптера таблиц?

Они оба позволяют мне легко перетаскивать таблицу sql на поверхность в Visual Studio, после чего генерируется класс и весь код, который позволяет мне автоматически создавать / обновлять / удалять записи.

Я знаю, что entity Framework — это очевидный выбор, я просто не понимаю, почему.

Спасибо!

Ответ №1:

Набор данных, таблица данных и строка данных предлагают реляционный API — это ваши объекты RDBMS, отображаемые как объекты в мире .NET. У вас не может быть наследования. У вас не может быть структур, подобных графу.

EF, с другой стороны, позволяет вам моделировать ваши объекты так, как вы хотите, а затем сопоставлять их со схемой RDBMS, чтобы она управляла частью сохранения. С EF вы можете работать с концептуальной (доменной) моделью, а не с реляционной моделью. Например, объект EF может быть проекцией из нескольких таблиц или у вас может быть несколько объектов, построенных на основе одной таблицы (например, сценарий наследования).

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

1. 1; Для Кевина — Что схема, о которой он говорит для сопоставления вашей базы данных с моделью домена, называется ORM