Я новичок в .NET и в начале процесса разработки интерфейсного приложения для базы данных и ищу некоторые советы.совет по дизайну: платформа Entity Framework полезна для хранимых процедур?
Я не уверен, я понимаю ...
БД очень сильно нормализуется, но предоставляет множество хранимых процедур абстрагировать логическую модель (напр. Выберите sproc возвращает набор данных одного из нескольких таблиц тесно отражающий бизнес-объект, вставка/обновление sprocs для нескольких таблиц и т. д.)
Как мне создать DAL? Я не уверен, в чем преимущество платформы Entity Framework в этом контексте. При генерации он отражает нормализованную схему БД, а не ее абстракцию. Или если я сопоставляю sprocs для его создания (что требует некоторой работы, поскольку T-SQL в sprocs является динамическим и с объединениями), я получаю бизнес-объекты в порядке, но не вижу преимущества: объекты представляют единственная «абстрактная» таблица, а не набор объектов с Datarelations, sprocs обрабатывает вызовы нескольких таблиц. Кажется, больше работы для сопоставления сгенерированных событий изменения с sprocs, чем для прямого вызова sprocs.
Что мне не хватает?
Thanks,
Michael.
Я не могу понять, что вы действительно хотите сделать. Первый вопрос: как бы вы хотели определить свою модель сущности - сделайте это сначала, а затем отредактируйте базу данных, чтобы отразить ее. EF не будет делать никакой магии, сопоставление db прямо с объектами является достаточно сложной задачей, поэтому не ожидайте слишком многого. – kubal5003
Конкретный пример: у меня есть таблицы Person и Organization, каждая из которых связана с таблицей адресов в отношениях «многие ко многим» (промежуточные таблицы с дополнительными свойствами). Логика DB и sprocs только открывают (или обновляют): Person table, Org table, PersonAddress table и OrgAddress, абстрагируя промежуточные таблицы (та же логика для телефонов и т. Д.). Хотя я просто создаю отдельные наборы данных ST: Person (+ связанные таблицы), Organization и т. Д., Но потом я забыл о EF? Извините, я, очевидно, новичок ... – Mike