【发布时间】:2011-12-22 17:25:48
【问题描述】:
第一部分
我正在开发一个 Web 应用程序,它不是使用 viewmodel 类来组织数据并在 View 中使用,而是使用数据库表模型。因此,例如在我看来,模型声明如下所示:@model aa.webobjects.object - 对象由 dbml 自动生成。这里的问题是除了组织数据之外,使用视图模型有什么好处?我有另一个类,在 dbml 下,例如这样做:
public Product GetProductsByPrice
{
get
{
return WebDataContext.Get().Products.Where(x => x.Price > 10);
}
}
基本上这用于组织数据,并根据需要从数据库中提取数据。 return 语句将我们带到问题二。
第二部分
我的应用程序有内存泄漏。内存不断增长,一段时间后服务器死机。当我阅读一些文章时,似乎我应该将我的 WebDataContext 包装在 using 语句中,以便它能够正确回收。我的问题是:不使用 Viemodel 是否会导致内存泄漏,如果我使用视图模型来组织数据并重新组织 WebDataContext 的使用,以便将其包裹在 using 语句中会有所帮助吗?
我不确定这是否正确解释了问题。任何帮助将不胜感激。
【问题讨论】:
-
什么是 WebDataContext?它是从 DbContext、ObjectContext 还是其他一些 ORM 扩展而来的?
-
我认为它扩展自 System.Data.Linq.DataContext
标签: asp.net performance linq asp.net-mvc-3 datacontext