我正在使用 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" />
然后我在设计器中右键单击以“从模型生成数据库......”这会做两件事。首先,它将我所有的 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]
没错:它知道必须删除 MESSAGES(大写),但随后又想创建 Messages(驼峰式)。
如何让 VS 不理会我的 edmx 编辑并生成正确的(大写)DDL?非常感谢。