Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 当我从EntityFramework4.0模型生成DDL时,我可以更改它在多对多关系中命名列的方式吗?_Entity Framework_Visual Studio 2010 - Fatal编程技术网

Entity framework 当我从EntityFramework4.0模型生成DDL时,我可以更改它在多对多关系中命名列的方式吗?

Entity framework 当我从EntityFramework4.0模型生成DDL时,我可以更改它在多对多关系中命名列的方式吗?,entity-framework,visual-studio-2010,Entity Framework,Visual Studio 2010,我使用VS2010 Professional创建了一个非常简单的实体框架4.0模型。忽略国籍实体,这是一种简单的一对多关系 我有一个条目实体,它与团队实体有多对多的关系,因为一个条目可以有多个团队。具体情况如下: 然后生成以下DDL: ...Some DDL... -- -------------------------------------------------- -- Creating all tables -- -----------------------------------

我使用VS2010 Professional创建了一个非常简单的实体框架4.0模型。忽略国籍实体,这是一种简单的一对多关系

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

然后生成以下DDL:

...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,但作为联接表的自动生成实体使用TitleCase_Id


当其他人来查看代码时,是否有一种简单的方法可以改变这一点,以便在生成代码时,它可以像EDM和DDL中的其他实体一样?

当在实体框架模型上有一组名为“数据库脚本生成”

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

T4模板位于C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft\Entity Framework Tools\DBGen中\


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

在我的问题中,重新启动修复此问题

您能解释一下如何修改该文件以自定义实体名称吗?这更符合我的法语评论,重新启动通常不会神奇地修复问题,它会使问题静音,直到过一会儿问题再次出现。