【问题标题】:MVC2.NET pass object from viewmodel to view and access itMVC2.NET 从 viewmodel 传递对象以查看和访问它
【发布时间】:2011-03-19 06:00:51
【问题描述】:

在使用从 linq 到 sql 的 Viewmodel 时,我遇到了架构问题。

当您从数据库中获得一个对象(比如说“人”)时,您将它加载到您的视图模型中。在您看来,在此之后,当您尝试访问引用的类时(假设一个人有子对象,它是 db 中的不同表和不同的 datacontext 对象)。您会得到一个“无法访问已处置的数据上下文对象(或某些东西),这是合乎逻辑的,因为您加载了对象并处置了数据上下文。例如:

"object" ->foreach(Model.Person.Children.ToList() 中的子项){}

但是你怎样才能做到这一点,以便你可以(“预加载”?)孩子或访问他们,而不必创建一个新的数据上下文,并在你的视图中重新加载这个人?

【问题讨论】:

    标签: asp.net-mvc linq-to-sql asp.net-mvc-2 viewmodel datacontext


    【解决方案1】:

    使用DataLoadOptions.LoadWith()

    在此处查看示例:http://msdn.microsoft.com/en-us/library/Bb386917(v=VS.90).aspx

    在执行任何查询之前,您必须指定 DataLoadOptions 并分配给 DataContext 实例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-31
      • 1970-01-01
      • 2017-04-28
      • 1970-01-01
      • 2019-12-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多