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

如何从SQL Server填充复杂的分层对象,sql,sql-server,sql-server-2008,asp.net-mvc-3,Sql,Sql Server,Sql Server 2008,Asp.net Mvc 3,我的web服务器上有一个复杂的对象——比如说,该对象表示一个调查 因此,这个调查对象有许多问题,每个问题都有许多可能的答案选项——基本上,它是一个分层对象 进一步说,在数据库中,这些表的结构大致相似(即,一个调查表链接到一个问题表,一个答案选项表) 如果我们希望从SQL填充对象,则执行此操作的唯一方法是: 从数据库中选择调查详细信息 从数据库中选择该调查中出现的所有问题 从数据库中选择调查中问题可用的所有答案选项 在web服务器上迭代结果,并相应地填充调查对象 (这是定制代码,因此各种实体框架都

我的web服务器上有一个复杂的对象——比如说,该对象表示一个调查

因此,这个调查对象有许多问题,每个问题都有许多可能的答案选项——基本上,它是一个分层对象

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

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

  • 从数据库中选择调查详细信息
  • 从数据库中选择该调查中出现的所有问题
  • 从数据库中选择调查中问题可用的所有答案选项
  • 在web服务器上迭代结果,并相应地填充调查对象
  • (这是定制代码,因此各种实体框架都不是选项)


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

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


    所有的OR/M框架都是毫无疑问的吗?这样,您就不会自动从数据层获取复杂的“对象”。这是OR/M工具的主要任务之一,它可以基于映射将数据加载到对象或对象层次结构中。如果不使用框架,则必须自己迭代“原始SQL行”并将其复制到对象结构中。

    @gjsdurate添加了对实际问题的澄清。谢谢,谢谢。我怀疑这就是答案,但我想确保我没有遗漏什么。