Я использую Visual Studio 2010, Entity Framework 4 и разработку на основе модели.
Я смоделировал в конструкторе VS EDM, а затем отредактировал пользовательский файл edmx так, чтобы имена таблиц были в верхнем регистре (не мой выбор, требование DBA для базы данных, чувствительной к регистру имен).
то есть запись edmx ssdl будет выглядеть так:
<EntitySet Name="MESSAGES" EntityType="SIMPLEPIX.STORE.MESSAGES" store:Type="Tables" Schema="MW_ARCHIVE" Table="MESSAGES" />
Затем я щелкаю правой кнопкой мыши в конструкторе, чтобы "Создать базу данных из модели ..."
Это делает 2 вещи. Сначала он возвращает все мои правки edmx обратно в дело верблюда. То есть строка выше становится:
<EntitySet Name="Messages" EntityType="SimplePix.Store.Messages" store:Type="Tables" Schema="MW_ARCHIVE" />
(и обратите внимание, мой атрибут Table = "MESSAGES" удален).
Во-вторых, создается следующий DDL:
[snip]
IF OBJECT_ID(N'[MW_ARCHIVE].[MESSAGES]', 'U') IS NOT NULL
DROP TABLE [MW_ARCHIVE].[MESSAGES];
[snip]
CREATE TABLE [MW_ARCHIVE].[Messages] (
[snip]
Правильно: он знает, что должен сбросить СООБЩЕНИЯ (заглавными буквами), но затем хочет создать Сообщения (верблюжий регистр).
Как я могу заставить VS оставить свои правки edmx в одиночку и сгенерировать правильный (в верхнем регистре) DDL? Спасибо большое.