如何从SQL Server填充复杂的分层对象

时间:2011-07-15 10:49:31

标签: sql sql-server sql-server-2008 asp.net-mvc-3

我的网络服务器上有一个复杂的对象 - 例如,假设该对象代表一项调查。

所以这个调查对象有很多问题,每个问题可以有很多可能的答案选项 - 基本上它是一个层次化的对象。

进一步说,在数据库中,它们大致具有相似的结构(即一个链接到问题表的调查表,该问题表链接到答案选项表)。

如果我们想从SQL填充对象,则执行此操作的唯一方法是:

  1. 从数据库中选择调查详情
  2. 从数据库中选择该调查中出现的所有问题
  3. 从数据库中选择调查中可用问题的所有答案选项
  4. 在Web服务器上迭代结果并相应地填充Survey对象。
  5. (这是定制的代码,因此各种实体框架都不是一种选择)。

    有更好的方法吗?我正在迭代所有这些结果并相应地填充我的对象或者有更简单的方法是正确的吗?

1 个答案:

答案 0 :(得分:1)

您访问数据库的抽象级别并不完全清楚。 ADO.NET SqlCommands?

所有OR / M框架都不可能吗?然后,您将不会自动从数据层返回复杂的“对象”。这是OR / M工具的主要工作之一,它可以根据映射将数据加载到对象或对象层次结构中。如果您不使用框架,则必须自己迭代“原始SQL行”并将它们复制到对象结构中。