Tag: t4

自定义DbContext生成器

对于数据库第一次设计,创建EDMX生成DbContext和poco模型T4 (.tt)模板文件。 我成功地能够自定义Model.tt文件,使其生成具有Pascal套接字类名称和属性名称的POCO类,以及Pascal案例中的poco类文件名,这与其余代码的编码标准相吻合。 我试图解决的问题是,当我创建一个EDMX时,我必须编辑Model.tt文件,而不是我试图查看是否有任何方法来自定义tt文件生成器并添加代码修改,以便在创建EDMX时自动实现pascalcasing规则。 我不确定这是否可行。 请建议。

使用SSDT作为T4模板的源

我有一个SQL Server数据工具(SSDT)项目,它有许多存储过程,我想生成C#代码以使用T4调用它们。 这样做有没有现成的例子? 到目前为止,我可以创建一个每个proc的函数,但我真的希望能够利用SSDT创建的元数据,这样我就可以从中获取参数,数据类型和返回值,而不是进行字符串解析。

使用VS 2012在Build上生成T4

我正在尝试使用VS2012在我的项目的每个版本上生成代码。 我的解决方案中有3个项目: 项目1有一些课程 项目2具有通用模板 project 3具有读取json文件的模板,然后调用通用模板表单项目2以生成其文件。 当我点击构建/转换所有T4模板时,没有问题,这一代进展顺利。 但我正在尝试配置我的构建以在每个构建时自动包含此步骤。 我已将此代码添加到我的csproj中: true true 我已经在我的电脑上找到了自己的路径“ \ Microsoft \ VisualStudio \ v11.0 \ TextTemplating \ Microsoft.TextTemplating.targets ”。 我从它的例子是: get-visual-studio-to-run-a-t4-template-on-every-build 问题来自我正在使用的这一行: 我收到错误: 无法解析文件的包含文本:D:\ Projects \ pppp \ qqq \ eeee \ $(SolutionDir)\ xxx \ yyy \ zzz \ mytemplate.tt 由于模板在“手动”(构建/转换所有T4模板)生成时运行良好,我想知道在构建时生成它的问题可能是什么。 任何的想法?

entity framework代码首先使用T4模板

我将使用T4模板创建代码优先视图,如下面提到的文章所示: 文章在这里 但它导致了一个 运行时exception 如下。 为什么? 我的连接字符串在App.config正确配置。 我的应用程序是基于N层的 。因此DbContext驱动类在数据层中 。 这是我的连接字符串 : 我正在使用EF 4.1和vs 2010。 正在运行的转换:System.Reflection.TargetInvocationException:调用目标已抛出exception。 —> System.ArgumentException:参数’nameOrConnectionString’不能为null,为空或仅包含空格。 at System.Data.Entity.ModelConfiguration.Utilities.RuntimeFailureMethods.ReportFailure(ContractFailureKind contractFailureKind,String userMessage,String conditionText,Exception innerException) 在System.Data.Entity.DbContext..ctor(String nameOrConnectionString) 在D:\ My Blog \ Test Projects \ PawLoyalty \ PawLoyalty \ PawLoyalty.Data \ DataCatalog.cs中的PawLoyalty.Data.DataCatalog..ctor(Boolean allowLazyLoading):第31行 在D:\ My Blog \ Test Projects \ PawLoyalty \ PawLoyalty \ PawLoyalty.Data \ DataCatalog.cs中的PawLoyalty.Data.DataCatalog..ctor():第26行 […]

有没有办法避免使用Windows商店应用程序ResourceLoader使用硬编码的resw键?

有没有办法避免在Windows商店应用程序中使用resw文件中包含的全球化字符串使用硬编码键? 即 // I have to use a hard-coded string key, which may violate the // DRY principle to gain access to the translation from C#: var translation = Windows.ApplicationModel.Resources.ResourceLoader.GetString(“MyStringKey/Text”)

如何在指定命名空间的同时自动为每个构建构建T4模板?

我有一个T4模板,它生成一个可以在运行时用来构建文档的类。 在模板文件的属性中,自定义工具设置为“TextTemplatingFilePreprocessor”,我还为自定义工具命名空间属性设置了自定义命名空间。 如果我右键单击模板并选择“运行自定义工具”,或者如果我选择Build-> Transform All T4 Templates,则代码会正确生成。 但是,我一直在尝试使用Microsoft.TextTemplating.targets构建任务在构建时自动生成模板,如下所述: https : //docs.microsoft.com/en-us/visualstudio/modeling/design-time -code-by-using-t4-text-templates #Regenerating 。 当我这样做时,文件被重新生成,但它忽略了自定义工具命名空间。 那么:如何在指定命名空间的同时自动为每个构建构建T4模板?

从数据库表生成实体类

我需要以这种forms构建一个类 namespace BestCompanyEver { public class PersonInfo { public string Name{get;set;} public int Age{get;set;} } } 从具有列名称和年龄的表格中。 有没有现成的解决方案? 我知道我可以用T4或Codesmith实现这个,但应该有人已经做过了。

TextTransform.exe似乎只接受旧版本的C#

当我在Visual Studio中扩展T4模板时,我可以使用完整的C#3.0语法,包括LINQ表达式等。当我使用TextTransform.exe在Visual Studio外部扩展它时,它会抱怨LINQ表达式和C#3.0的其他新function。 是否有更新版本的TextTransform.exe? 我正在运行的是: C:\Program Files\Common Files\Microsoft Shared\TextTemplating\1.2\TextTransform.exe

从模板生成多个输出文件

您好我正在为我的xml文件编写自定义模板生成器。 我想知道你们是否可以告诉我一种方法,我可以在同一模板下从模板生成多个输出文件。 文件号应该取决于我输入的xml文件的数量 如果我想为a.xml生成c#类,我正在做这样的事情 其中我的函数XmlToCsGenerator.Xml(字符串路径)返回要写入文件的字符串。 提前致谢

访问T4模板中的自定义属性(VS2012 MVC4)

我正在尝试访问我的自定义属性,如我正在编写的T4控制器模板中附加到我的模型属性的SortableAttribute 。 我已经将List.tt中的类块,程序集和导入复制为样板文件。 首先,我尝试按如下方式转换属性: 然而,这并没有产生积极的结果,因为我的项目命名空间对T4来说是未知的。 为了解决这个问题,我添加了项目的dll并导入了所需的命名空间。 它起初似乎很成功(例如,命名空间导入没有错误),但它仍然没有找到我的属性。 如果我用MyProject.Filters.SortableAttribute替换SortableAttribute ,则错误消息是在MyProject.Filters找不到SortableAttribute 。 为了解决这个问题,我改变了我的代码如下: 我以为我已经中了大奖,但我很快就意识到这个property.GetCustomAttributes(true)返回所有属性但不是我的…… 示例模型: public class MyModel { [Key] [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] public int Id { get; set; } [Required] [Display(Name = “Full Name”)] [Sortable] public int Name { get; set; } } SortableAttribute实现: using System; namespace MyProject.Filters { [AttributeUsage(AttributeTargets.Property)] public class SortableAttribute : Attribute { public SortableAttribute(string […]