用于在名称值字典中获取类属性的选项

时间:2016-08-03 01:33:21

标签: c# entity-framework

使用.NET 4.6:

我正在寻找获取给定类中属性的名称值集合字典的选项。一个明显的选择是反思。然而,在.NET 2.0时代,反思的使用在性能上被认为很重,并且不推荐使用。

我们在.NET 4.6中有哪些更好的选择?

实体框架中是否有任何功能可以更轻松地实现此要求?

更新1

我正在构建一个MailMerge样式模板系统,我正在使用Property的值替换{PropertyName}之类的标签。

有些数据来自EF实体类,有些数据来自POCO类。

1 个答案:

答案 0 :(得分:1)

所以你会以某种方式使用反射。

我建议在加载模板系统时缓存模型类型的结构。这将加快模板处理速度。但老实说,除非你一次处理数十万个模板,否则你可能不会从缓存中获得显着的速度提升(你应该测试一下)。

我使用并强烈推荐的另一种选择是RazorEngine。它是一个已经构建的模板引擎,基于ASP.NET的剃刀模板引擎。