如何在实体框架中为tt模板添加附加功能?

How to add additional function to tt template in entity framework?

提问人:Vya4slav 提问时间:4/13/2023 更新时间:4/13/2023 访问量:62

问:

我有默认生成的 .tt 模板,没有任何编辑,因此默认生成的实体。我想为我的所有实体覆盖 toString() 方法,以构建具有所有属性名称和值的大字符串。它看起来像这样:

toString(){ return nameof(prop1)=prop1?.toString() ?? string.Empty + ";" + nameof(prop2)=prop2...}

我需要在模板文件中添加什么以及添加什么? P.S. 如果结果相同,您可以提供更好/另一种语法

C# 实体框架-6 T4

评论

1赞 Dai 4/13/2023
“我想为我的所有实体覆盖 ToString() 方法,以构建具有所有属性名称和值的大字符串。”-别这样。相反,为什么不使用?另外,请参阅 github.com/sjh37/...[DebuggerDisplay]
0赞 Vya4slav 4/13/2023
但它不是用于调试的。我需要一个包含程序中所有实体数据的字符串
0赞 Dai 4/13/2023
为什么呢?请记住牢记 SRP,因此做一件事的类型不应该同时做另一件事 - (并且 EF 实体类不是 DTO),那么为什么不使用适当的序列化库 (?) - 如果你有一个列或其他列不能在 ?Newtonsoft.JsonvarbinaryString
0赞 Dai 4/13/2023
另外,您到底在使用哪个 T4 模板?您使用的是 EF6 还是 EF Core?.tt
0赞 Vya4slav 4/13/2023
我使用 EF6。我想使用这个 toString() 有一个目的 - 通过字段名称和字段中的数据查找实体,这些字段必须由用户动态输入,我发现它使用覆盖的 toString() 并使用 Contains() 或正则表达式。与已建立实体的其他操作我会直接使用属性进行

答: 暂无答案