我有一个比较冗长的对象,它有很多用于将数据传输到SQL数据库的属性。我现在想提供这个对象的“浅”版本,它只使用了一些详细的属性。为对象#2的所有现有属性合并对象#1到对象#
我正在使用通过REST api提供的light对象,以及用于传输数据的详细对象,所以理想情况下我也可以逆转该过程(使用light object的现有属性覆盖冗长对象的属性,然后保存到数据库)。
所有这些属性将具有相同的数据类型,只要它们存在于灯光对象中。
简单的例子:
class Verbose {
public string email;
public Guid id;
}
class Simple {
public string email;
// don't show Guid
}
现在我想变换类型冗长的所有对象类型的简单,抛弃所有不必要的性能 - 有一个简单的方法来做到这一点?
理想情况下,这也应该是可逆的。
难道你没有一个Verbose.ToSimple()方法创建并返回一个新的Simple对象与适当的数据?反之亦然(我想你会需要有默认值/空值) – davenewza 2012-07-25 08:54:30
这也是一个选项,但是每当我改变为数据库对象时,我都必须改变它。我的目标是定义我希望在Simple对象类型中公开的属性,然后自动将从Verbose映射委托给Simple。 – doque 2012-07-25 09:06:35
编辑在我的回答链接 – 2012-07-25 09:12:14