J'ai une action ASP.NET MVC 2 qui ressemble à ceci:Aux environs "DataContext accessibles après Éliminez" erreur dans ASP.NET MVC Voir
public ActionResult Index()
{
using(var db = new MyDataContext())
{
var welcomeSnippet = "test";
var articles = db.Posts.Where(p => p.DateOfPublish <= DateTime.Now).Take(5).ToList();
return View(new HomeViewModel()
{
Articles = articles,
WelcomeSnippet = welcomeSnippet
});
}
}
La vue comprend le code suivant:
<%foreach (var item in Model.Articles)
{%>
<div class="article" id="<%=item.PostID %>">
<!-- some properties -->
<div class="tags">tags: <i><%foreach (var tag in item.PostTags.ToList())
{ %><%=Html.Encode(tag.Tag.TagName.Trim())%> <%} %></i>
</div>
</div>
<% } %>
J'accède à item.PostTags
, qui est obtenu via mon DataContext. Ici, j'utilise essentiellement le chargement paresseux, mais je reçois une erreur: mon DataContext est déjà éliminé au moment de lister ces PostTags.
Comment puis-je charger ces données avant de disposer de mon DataContext?
Don Disposez le DataContext. Voir http://leedumond.com/blog/about-disposing-the-datacontext/ et http://stackoverflow.com/questions/821574/c-linq-to-sql-should-datacontext-be-disposed-using- idisposable –