在数据和业务层之间键入转换

时间:2009-03-09 14:13:42

标签: c#

我有两个标准图层,即包含类似对象的商业图层和域图层,现在我想提供一些从两侧来回转换对象的标准方法。我找到了三个选择。

  1. 使用隐式或显式转换。
    • 我基本上不喜欢它们,因为它们没有提供干净的界面,转换时没有适当的指示。
  2. 使用TypeConverter课程
    • 这提供了我正在寻找的方法,但它迫使我继承这个类,如果它是一个接口而不是一个类,我很乐意做。因为它会限制我的选择。
  3. 使用IConvertable
    • 这只允许转换为基本类型,但不允许转换为自定义类型。
  4. 创建我自己的界面
    • 我可以创建自己的界面,允许我正确的验证以及更清晰的界面,如IConvertable,但我只是在考虑是否有其他选项可用而不是重新发明轮子
  5. 那么.NET中还有哪些其他方法可用?

2 个答案:

答案 0 :(得分:1)

我认为AutoMapper正是您所寻找的。

答案 1 :(得分:0)

您可以使用反射将具有相同名称(和数据类型)的属性从一个类复制到另一个类。

如果您想更进一步,可以使用反射生成将一个类复制到另一个类的类。