使用.NET 4.6:
我正在寻找获取给定类中属性的名称值集合字典的选项。一个明显的选择是反思。然而,在.NET 2.0时代,反思的使用在性能上被认为很重,并且不推荐使用。
我们在.NET 4.6中有哪些更好的选择?
实体框架中是否有任何功能可以更轻松地实现此要求?
更新1
我正在构建一个MailMerge样式模板系统,我正在使用Property的值替换{PropertyName}之类的标签。
有些数据来自EF实体类,有些数据来自POCO类。
答案 0 :(得分:1)
所以你会以某种方式使用反射。
我建议在加载模板系统时缓存模型类型的结构。这将加快模板处理速度。但老实说,除非你一次处理数十万个模板,否则你可能不会从缓存中获得显着的速度提升(你应该测试一下)。
我使用并强烈推荐的另一种选择是RazorEngine。它是一个已经构建的模板引擎,基于ASP.NET的剃刀模板引擎。