对于我们的应用程序,我们在构建过程中不使用Visual Studio。Visual Studio不在生成服务器上。通常,我们一直将Visual Studio视为开发应用程序的“必备条件”,但是对于可重现构建的关键要求都是开放源代码/免费提供。
我现在正在考虑升级到EF6。我不想检入生成的Model代码,因此我需要一种无需Visual Studio即可从edmx文件生成模型的方法。
以前,我们使用过.NET框架附带的EdmGen,我们很高兴我们的构建服务器可以依靠它。在EF6中,推荐的生成代码的方法是使用T4模板。
但是,T4代码生成工具内置于Visual Studio中,并且没有单独提供。
该问题包含部分答案。但是,两个答案都存在问题。
首先,建议许可证允许您从Visual Studio安装中将必要的文件复制到构建服务器。但是,这是一个丑陋的解决方案,因为这意味着无法自动设置新的构建服务器,并且取决于是否存在Visual Studio安装。此外,对于EF6模型生成,我们在Visual Studio安装中还需要EF.Utility.CS.ttinclude。我有一封来自Microsoft开发人员的电子邮件,其中说,按照他的非法律意见,我也可以复制该文件,但是看着许可证,我不相信。
其次,更吸引人的是,MonoDevelop中存在TextTransform的开源实现。但是,同样,我们缺少包含文件,此外,我不清楚此TextTransform工具的工作方式完全相同,并且可以处理EF6给我的模板。到目前为止,我在尝试使其工作时遇到错误。
那么:有没有人有一个使用EF6模型生成而不使用只能从Visual Studio安装获得的工具的有效示例?