В веб-приложениях, таких как вики, форумы или программное обеспечение для ведения блогов, часто бывает полезно хранить ваши данные в реляционной базе данных. Поскольку многие хостинговые компании предлагают единую базу данных со своими планами хостинга (с дополнительными базами данных, которые стоят дороже), это очень полезно для ваших пользователей, когда ваши объекты базы данных (таблицы, представления, ограничения и хранимые процедуры) имеют общий префикс. Для приложений, знающих о нехватке базы данных, характерно иметь жестко заданный префикс таблицы. Я хочу больше, однако. В частности, я хотел бы иметь префикс таблицы, который пользователи могут назначить, скажем, в файле web.config (с соответствующим значением по умолчанию, конечно).
Так как я ненавижу кодировать CRUD операции вручную, я предпочитаю работать через компетентное OR / M и использую (и получаю удовольствие) LINQ to SQL, Subsonic и ADO.Net. Однако у меня возникли проблемы с новым проектом, когда дело доходит до добавления префикса таблицы в пользовательский файл web.config. Существуют ли продукты OR / M на основе .Net, которые могут элегантно справиться с этим сценарием?
Лучшее, что я смог до сих пор придумать, - это использование LINQ to SQL с внешним файлом сопоставления, который мне придется каким-то образом обновлять на основе пока еще гипотетического параметра web.config.
У кого-нибудь есть лучшее решение? Я пытался сделать это в Entity Framework, но это быстро превратилось в беспорядок. (Из-за моего незнакомства с EF? Возможно.) Как насчет SubSonic? Есть ли возможность применить префикс таблицы помимо во время генерации кода?