如何:自定义数据库生成(“生成数据库”向导)

本主题描述如何自定义由“生成数据库”向导(实体数据模型工具)生成的数据描述语言 (DDL)。 有关生成的默认 DDL 的信息,请参见数据库生成规则(“生成数据库”向导)

“生成数据库”向导使用 Windows Workflow Foundation 和文本模板执行下列步骤:

  1. 生成基于概念模型的存储架构定义语言 (SSDL)。

  2. 生成将 SSDL 映射到概念模型的映射规范语言 (MSL)。

  3. 生成基于 SSDL 的 DDL。

“生成数据库”向导使用的默认工作流和默认文本模板在概念模型的**“数据库生成工作流”“DDL 生成模板”**属性中进行指定。 下列过程介绍如何配置项目以便“生成数据库”向导在 DDL 生成过程中使用自定义工作流和/或自定义文本模板。 该过程假设您已在实体数据模型设计器(实体设计器)中打开 .edmx 文件,并且已设计一个概念模型。

Dd560887.note(zh-cn,VS.100).gif注意:
自定义工作流或文本模板通常需要自定义二者。

自定义数据库生成工作流

  1. 向项目添加自定义 Windows 工作流(.xaml 文件)或将自定义 .xaml 文件放置在以下位置中:%localappdata%\Microsoft*\[AppId]*\10.0\Extensions\Microsoft\Entity Framework Tools\DBGen,其中 [AppId] 取决于您的 Visual Studio 版本。

  2. 右击实体设计器图面并选择**“属性”**。

  3. 将**“创建数据库工作流”属性的值设置为自定义 .xaml 文件相对于项目目录的路径。 也可以使用自定义 .xaml 文件的完整路径。 放置在步骤 1 中所示路径中的文件将可用作属性值(该值将为在后面追加“(用户)”**的文件名)。

    现在,“生成数据库”向导在从模型生成 DDL 时将使用指定的工作流。 该工作流将使用在**“DDL 生成模板”**属性中指定的文本模板来从 SSDL 生成 DDL。

Dd560887.note(zh-cn,VS.100).gif注意:
不要修改“生成数据库”向导使用的默认 .xaml 文件。但是,您可以修改默认 .xaml 文件的副本,然后按照上面的说明操作。

若要生成 DDL,请启动“生成数据库”向导。 有关信息,请参见如何:根据概念模型生成数据库(实体数据模型工具)

自定义 SSDL 到 DDL 生成

  1. 向项目添加自定义文本模板(.tt 文件)或将自定义文本模板放置在以下位置中:%localappdata%\Microsoft\[AppId]\10.0\Extensions\Microsoft\Entity Framework Tools\DBGen,其中 [AppId] 取决于您的 Visual Studio 版本。

    Dd560887.note(zh-cn,VS.100).gif注意:
    将 .tt 文件添加到项目时,将显示“安全警告”。有关更多信息,请参见文本模板的安全性(可能为英文网页)。

  1. 右击实体设计器图面并选择**“属性”**。

  2. 将**“DDL 生成模板”属性的值设置为自定义 .tt 文件相对于项目目录的路径。 也可以使用自定义 .tt 文件的完整路径。 放置在步骤 1 中所示路径中的文件将可用作属性值。 该值将在文件名后面追加“(用户)”**。

    现在,“生成数据库”向导在从 SSDL 生成 DDL 时将使用指定的文本模板。

Dd560887.note(zh-cn,VS.100).gif注意:
不要修改“生成数据库”向导使用的默认 .tt 文件。但是,您可以修改默认 .tt 文件的副本,然后按照上面的说明操作。

若要生成 DDL,请启动“生成数据库”向导。 有关信息,请参见如何:根据概念模型生成数据库(实体数据模型工具)

另请参见

任务

如何:自定义对象层代码生成(实体数据模型设计器)

概念

.edmx 文件概述(实体框架)
扩展实体数据模型工具

其他资源

Windows Workflow Foundation
开发工作流