Итак, у меня есть приложение, которое использует SQL Server Express DB. У меня около 80-ти таблиц с первичным ключом, но без внешних ключей. (Причина, по которой у нас нет внешних ключей, заключается в том, как мы выполняем нашу репликацию sql-клиент-сервер. Это не настоящая репликация, а система синхронизации, которая была на месте, когда мы взяли на себя приложение. У нас нет гарантии, какие записи сначала делать это в базе данных, когда клиент синхронизируется с сервером, поэтому возможно, что запись попадет в базу данных с внешним ключом, который указывает на несуществующую запись).
Мы используем соглашение о типе для модели. Для каждого из наших бизнес-объектов в БД есть таблица. В настоящее время мы используем хранимые процедуры для каждой транзакции базы данных. Это означает, что для каждого нового класса есть как минимум 4 новые хранимые процедуры (crud) Мы абстрагировали наш уровень доступа к данным от наших бизнес-объектов. Каждый бизнес-объект имеет соответствующий businessObjectDAO.
У меня вопрос: возможно ли перейти к структуре сущностей? Без связи с внешним ключом мне придется вручную устанавливать каждую связь между таблицами. Стоит ли тратить время на это?
Моя самая большая проблема на данный момент - попытаться выяснить, как я сопоставляю свои DAO с частичными классами EF.
Должен ли я создать один большой .edmx или несколько?
Много вопросов, которые я знаю. Это мое первое большое архитектурное решение, и мне дали задание внести изменения, если я считаю, что это выгодно и выполнимо.
Может, мне стоит попробовать Linq-to-SQL? NHibernate отсутствует, потому что мы не можем использовать продукты с открытым исходным кодом в производстве (глупо, я знаю).
Спасибо
* Cody * 1015