Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DTO和x27的设计问题;s等_C#_Dto - Fatal编程技术网

C# DTO和x27的设计问题;s等

C# DTO和x27的设计问题;s等,c#,dto,C#,Dto,我正在用c语言设计一个web应用程序,它主要与数据库进行对话。我已经为数据库中的每个表创建了一个DTO。现在,对于每个表,都有一个自定义的表存储库类,它执行与该特定表相关的所有保存和获取操作,我正在为此使用存储过程 现在的问题是,一些存储过程实际上会执行一个内部联接操作,然后发送一个由两个表组成的自定义输出 因此,我无法将数据存储在单个DTO对象中 如果有一些基本操作主要是在一张表上完成的,那么一切都很好。。我可以调用表dto对象来进行插入和从数据库中提取。 但是,当连接存在于存储过程中时,在某

我正在用c语言设计一个web应用程序,它主要与数据库进行对话。我已经为数据库中的每个表创建了一个DTO。现在,对于每个表,都有一个自定义的表存储库类,它执行与该特定表相关的所有保存和获取操作,我正在为此使用存储过程

现在的问题是,一些存储过程实际上会执行一个内部联接操作,然后发送一个由两个表组成的自定义输出

因此,我无法将数据存储在单个DTO对象中

如果有一些基本操作主要是在一张表上完成的,那么一切都很好。。我可以调用表dto对象来进行插入和从数据库中提取。 但是,当连接存在于存储过程中时,在某些情况下,我们会更新多个表

我们应该如何设计应用程序

请帮忙


谢谢

听起来您可能想重新考虑是否有一个直接对应于数据库中每个表的DTO

相反,DTO应该与Web站点背后使用的真实世界模型中的逻辑内容相对应。因此,例如,客户对象中可能有一组订单ID,即使这些ID逻辑上存储在数据库的两个表中

让DTO引用其他DTO并没有什么错(事实上这通常是必要的),因此,例如,您可以有一个指向地址类列表的Customer类


<> P>如果事情变得更复杂,你很可能会考虑在这一点上引入一个真正的“域对象”来映射你的DTOS,从它的声音中可以看到“持久对象”。p> 谢谢,我使用的是onion体系结构,在基础架构层,我为每个表提供了存储库类。如果我根据实际情况更改自定义DTO,那么我可能还必须自定义存储库。因此,我假设每个表都有当前的DTO,但是我创建了一个包含DTO组合的层,然后实际将该对象传递到存储库类函数中以进行保存或获取。或者你可以提出更好的建议吗?我对持久性对象不太熟悉:(。