. EnvDTE, T4. .
EnvDTE , EF DBContext ( MVC/WebAPI ). DBContext EnvDTE, , , EF ; T4 .
. , , DBContext. EF .
var env = (DTE)((IServiceProvider)this.Host).GetService(typeof(EnvDTE.DTE));
var project = dte.Solution.Projects.OfType<Project>().Where(p => p.Name == "your ef project name").FirstOrDefault();
CodeType codeType = project.CodeModel.CodeTypeFromFullName("your ef namespace.class");
CodeClass cc = (CodeClass)codeType;
List<CodeProperty> cps = cc.Members.OfType<CodeProperty>().ToList();
WriteLine(codeType.FullName);
WriteLine("======================");
foreach (CodeProperty cp in cps)
{
WriteLine(cp.Name);
foreach (CodeAttribute ca in cp.Attributes.OfType<CodeAttribute>())
{
WriteLine("-" + ca.Name);
}
}
, , , EF EnvDTE.Project, . CodeClass , EF.
, ... , , . , , scaffolder, ModelMetadata , , .
, .