Entity framework T4 EntityFramework 6.1代码优先工作流模板
我喜欢自定义Entity Framework 6.1在代码优先工作流中使用的T4模板 我的MVC应用程序中有两个项目,一个用于数据访问(DAL),另一个用于域实体(模型)。 我正在DAL项目中使用“数据库代码优先”实体数据模型向导来生成上下文和POCO 然而,我想定制T4模板,以便它在模型项目中生成数据对象,并让DbContext位于DAL项目中(关注点分离)。因此,我安装了EntityFramework.CodeTemplates.CSharp NuGet包() 如果不可行,我想自定义T4模板,以便将域对象存储在单独的文件夹中 第二件让我惊讶的事情是,如果我的数据库发生了变化,我如何重新设计我的模型?我是否每次都需要添加一个新模型 由于缺乏文档,我很难定制EF在CodeFirst中使用的这些T4模板 谢谢你的帮助Entity framework T4 EntityFramework 6.1代码优先工作流模板,entity-framework,entity-framework-6,Entity Framework,Entity Framework 6,我喜欢自定义Entity Framework 6.1在代码优先工作流中使用的T4模板 我的MVC应用程序中有两个项目,一个用于数据访问(DAL),另一个用于域实体(模型)。 我正在DAL项目中使用“数据库代码优先”实体数据模型向导来生成上下文和POCO 然而,我想定制T4模板,以便它在模型项目中生成数据对象,并让DbContext位于DAL项目中(关注点分离)。因此,我安装了EntityFramework.CodeTemplates.CSharp NuGet包() 如果不可行,我想自定义T4模板
Sam微软这样写的,你每次都必须生成一个新的模型。这是一种痛苦。我们最终得到了一个用于生成的项目,从中我们将文件复制到具有适当文件夹结构的最终项目。 我们还从一个数据库生成多个上下文
习惯T4模板需要时间,但经过一些实践后,它们非常简单。关于模型的更改,因为它是代码优先的方法,这意味着您的模型正在推动整个过程。因此,您可以根据需要多次更改模型,只需在PackageManager控制台中使用以下命令,即可生成相应更改数据库的代码
Add-Migration <name-goes-here>
要使模型与数据访问层分离,您可能必须指定一个连接字符串(该字符串指向项目中的正确文件夹):
这可能对你有帮助 我依靠“”扩展选择了非OOB解决方案。这个IMHO比OOB向导要好得多,OOB向导非常糟糕,而且是测试版的电动工具 感谢所有的意见,并同意我的意见,即OOB向导需要MS重新思考
Sam您必须创建一个新的。
Update-Database -Verbose