Entity framework 当我从EntityFramework4.0模型生成DDL时,我可以更改它在多对多关系中命名列的方式吗?
我使用VS2010 Professional创建了一个非常简单的实体框架4.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 -- -----------------------------------
...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中下拉 在我的问题中,重新启动修复此问题您能解释一下如何修改该文件以自定义实体名称吗?这更符合我的法语评论,重新启动通常不会神奇地修复问题,它会使问题静音,直到过一会儿问题再次出现。