For our application, we do not use Visual Studio in the build process; Visual Studio is not on the build servers. In general, we have kept Visual Studio as a "nice to have" for developing the application, but the crucial requirements for a reproducible build are all open source / freely available.
I am now considering upgrading to EF6. I do not want to check in the generated Model code, so I need a way of doing Model generation from the edmx file without requiring Visual Studio.
Previously, we have used EdmGen, as that is shipped with the .NET framework, and we are happy for our build servers to depend on that. In EF6, the recommended way to generate the code is using T4 templates.
However, the T4 code generation tools are built into Visual Studio and are not shipped separately.
This question contains part of the answer. However, there are problems with both answers.
Firstly, it is suggested that the licence allows you to copy the necessary files to the build server from your Visual Studio installation. However, this is an ugly solution, as it means setting a up a new build server can't be automated, and depends upon a Visual Studio installation being present. Additionally, for EF6 model generation, we also need the EF.Utility.CS.ttinclude in the Visual Studio installation. I have an email from one of the Microsoft devs saying that in his non-legal opinion, I would be allowed to copy that file too, but looking at the licence, I am not convinced.
Secondly, and much more attractively, there is an open-source implementation of TextTransform in MonoDevelop. However, again, we are missing that include file, and additionally, it's not clear to me that this TextTransform tool works exactly the same way, and can handle the template that EF6 has given me. So far I have errors trying to get it to work.
So: Does anyone have a working example of doing EF6 model generation without using tools that can only be got from a Visual Studio installation?