我正在使用 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 编辑恢复为驼峰式。 IE。上面的行变为:
<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?非常感谢。

最佳答案

您无法修改 EF 生成的类,因为每次执行“从数据库模型生成”时它们都会更改。我认为没有办法解决这个问题。

关于visual-studio - Visual Studio 和 Entity Framework edmx : My Custom edits are over-written,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4901493/

10-12 07:33