MVC2.NET从viewmodel传递对象以查看和访问它

时间:2010-07-21 21:16:10

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

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

如果你有一个db中的对象(让我们说“人”),你就可以在你的viewmodel中加载它。在您的视图中,当您尝试访问引用的类时(假设一个人有子对象,这是db中的不同表,以及不同的datacontext对象)。你得到一个“无法访问配置的datacontext对象(或其他东西),这是逻辑的,因为你加载了你的对象并处理了datacontext。例如:

“object” - > foreach(Model.Person.Children.ToList()中的Child child} {}

但你怎么能这样做,以便你可以(“预加载?”)孩子或访问他们而不必创建一个新的datacontext,并重新加载你的视图中的人?

1 个答案:

答案 0 :(得分:1)

使用DataLoadOptions.LoadWith()

请参阅此处的示例:http://msdn.microsoft.com/en-us/library/Bb386917(v=VS.90).aspx

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