今天我查看了一些技术:T4 templating,automapper
我理解这些技术提供的要点。我目前正在开发一个3层系统,我本来希望更换DAL(位于它自己的数据服务器上的数据访问层)并将其与迷你ORM集成,如图所示。但是,我现在不会制定这样的计划。我们目前使用.NET Remoting(早于WCF)。
因此,我不想替换DataServer上的任何内容,而是希望在应用服务器上扩展其中一项新技术。
我已经研究过Entity Framework如何根据上下文自动生成POCO类,这是在构建EF之后手动完成的,我想知道如果不使用EF我是否可以这样做。
所以这是关于当前发生的事情的事实:
我的问题是,是否可以根据从DataSet发回的值使用关键字“var”和“dynamic”自动生成动态POCO类,并在运行时动态映射到它上面?上面提到的任何技术都有帮助吗?或者我是否必须先手动创建POCO类,并对其进行映射?
如果应用程序可以知道POCO类应该具有什么,那么手动创建POCO类并将其映射到后端sql表似乎有点多余。就像我在后端更新表时会发生的情况一样,我也必须更新与之关联的POCO类。我很想让这对我来说是自动的。
答案 0 :(得分:2)
CustomTypeDescriptor
提供的运行时类型。您可以从服务器来回传递对象数组,并使用反射或其他技术来推断类型。我认为应该清楚#1是更好的,如果你在编译时知道类型(这听起来像你的情况)。运行时和动态应该只是最后的手段,因为它绕过了许多有价值的编译时类型检查。
实际上,如果您不想使用完整的实体框架,我建议您使用其中一个微型ORM,如Dapper等。也就是说,除非你真的想重新发明轮子。