代码之家  ›  专栏  ›  技术社区  ›  Ian Roke

当我从EntityFramework4.0模型生成DDL时,是否可以更改它如何命名多对多关系中的列?

  •  1
  • Ian Roke  · 技术社区  · 16 年前

    我有一个条目实体,它与团队实体有多对多的关系,因为一个条目可以有多个团队。具体表现如下:

    Entity model example http://img709.imageshack.us/img709/5785/ef4mfexample.png

    ...Some DDL...
    
    -- --------------------------------------------------
    -- Creating all tables
    -- --------------------------------------------------
    
    -- Creating table 'Nationalities'
    CREATE TABLE [dbo].[Nationalities] (
        [Id] int IDENTITY(1,1) NOT NULL
    );
    GO
    
    -- Creating table 'Entries'
    CREATE TABLE [dbo].[Entries] (
        [Id] int IDENTITY(1,1) NOT NULL,
        [NationalityId] int  NOT NULL
    );
    GO
    
    -- Creating table 'Teams'
    CREATE TABLE [dbo].[Teams] (
        [Id] int IDENTITY(1,1) NOT NULL
    );
    GO
    
    -- Creating table 'EntryTeam'
    CREATE TABLE [dbo].[EntryTeam] (
        [Entries_Id] int  NOT NULL,
        [Teams_Id] int  NOT NULL
    );
    GO
    
    ...More DDL...
    

    如您所见,我对实体属性使用TitleCaseId,但作为联接表的自动生成实体使用TitleCaseId。

    2 回复  |  直到 16 年前
        1
  •  4
  •   willbt    16 年前

    当在实体框架模型上有一组名为“数据库脚本生成”的属性时,您将在“属性”窗口中注意到。

    当您生成脚本时,会运行工作流“TablePerTypeStrategy.xaml” 并使用T4模板“SSDLToSQL10.tt”使用MS预定义约定将实体模型转换为DDL脚本。

    您可以使用首选约定编辑SSDLToSQL10.tt文件,我将首先备份它,或者创建一个副本并编辑副本,新文件将显示在VisualStudio的“DDL生成模板”下拉列表中。

        2
  •  -1
  •   swagrid    8 年前

    在我的问题上, 重新启动