【发布时间】:2013-11-25 07:58:43
【问题描述】:
我在我的业务对象中定义了一个枚举。
这个枚举是在数据传输对象中定义的。
dto 枚举不是业务对象的类型,因为它们不应该相互认识。
当我现在从客户端获取此 dto 并将 dto 映射到业务对象并将数据插入数据库时,我想断言传递的 dto.enum 与数据库中插入的枚举值具有相同的值。
这是我收到的错误消息:
Expected: A
But was: A
实际上它们具有相同的值但类型不同:dto.enum vs businessobject.enum。
那么你会在哪里定义这个枚举,然后两个对象都可以,并且两个对象之间没有耦合?
我考虑在我的业务层和 dto AND 业务对象使用的枚举定义中放置一个额外的 c# 类,以便断言可以工作。
你会怎么做?
【问题讨论】:
-
你的 DTO 层中是否应该有枚举? dto 层的关键在于它被序列化为 json 或 xml,无论如何这都只是字符串。我想知道....
标签: c# dto data-transfer-objects