visual-studio - Visual Studio 和 Entity Framework edmx : My Custom edits are over-written

标签 visual-studio entity-framework edmx

我正在使用 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/

相关文章:

c# - Visual Studio 扩展 Ctrl + K、Ctrl + D

C# 无法在设计器 Visual Studio 2010 中存储设计时间值

c# - Entity Framework 不会包含()所有表

entity-framework - 必须映射。它没有默认值且不可为空

c# - EF逆向工程代码优先和存储过程

c# - 控制创建 Entity Framework ObjectContext 的频率

c++ - 提高 Windows 应用程序的性能

visual-studio - 如何为支持嵌入式代码片段的模板或标记语言编写 Visual Studio 扩展

linq - EF 和 Linq 中的术语

.net - 实体数据模型设计器不会打开 edmx 文件