C# 如何使用存储库模式的即时加载?
我正在尝试清理我在应用程序中访问数据的方式。我已经开始转向响应模式,我遇到的第一个问题是访问相关数据 经过一些研究,我发现您可以使用.Include()访问相关数据,但我似乎无法让它正常工作,也无法确定我的设置方式是否正确 如何在存储库模式中使用即时加载?我已经包含了我的代码,向您展示了我如何制定计划的路线图。为了使事情简短,我省略了某些项目 IRepository.csC# 如何使用存储库模式的即时加载?,c#,asp.net-mvc,repository-pattern,eager-loading,C#,Asp.net Mvc,Repository Pattern,Eager Loading,我正在尝试清理我在应用程序中访问数据的方式。我已经开始转向响应模式,我遇到的第一个问题是访问相关数据 经过一些研究,我发现您可以使用.Include()访问相关数据,但我似乎无法让它正常工作,也无法确定我的设置方式是否正确 如何在存储库模式中使用即时加载?我已经包含了我的代码,向您展示了我如何制定计划的路线图。为了使事情简短,我省略了某些项目 IRepository.cs public interface ICustomerRepository : IDisposable { IEnum
public interface ICustomerRepository : IDisposable
{
IEnumerable<customer> GetRelatedData();
}
索引视图
我现在需要显示数据,但我仍停留在这个阶段,因为我不确定如何在视图中显示相关数据
@model IEnumerable<Titan.Models.customer>
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.first_name)
</th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.first_name)
</td>
</tr>
}
</table>
@model IEnumerable
@{
ViewBag.Title=“Index”;
}
指数
@ActionLink(“新建”、“创建”)
@DisplayNameFor(model=>model.first\u name)
@foreach(模型中的var项目){
@DisplayFor(modelItem=>item.first\u name)
}
这可能是因为我的方法不正确。我从ASP.NET MVC教程中获得了指导,但我无法理解如何在存储库模式中实现这种急切的加载场景。非常感谢您的帮助。您应该在customer object中设置customer car collection 大概是这样的:
@foreach (var item in Model) {
<tr>
@foreach(var car in item.customer_cars){
<td>
@Html.DisplayFor(car => car.model)
</td>
}
</tr>
}
@foreach(模型中的变量项){
@foreach(项目中的var车辆。客户车){
@DisplayFor(car=>car.model)
}
}
我已经读了两遍了,我仍然不确定你在问什么。你是在问如何获得子customer_cars对象吗?我在问两件事:a)我使用存储库模式中的即时加载获取相关数据的方法是否正确?和b)如果是,我如何将“customers\u car”对象放入我的视图中,以便显示此相关数据?请发布“customer”类的代码
@model IEnumerable<Titan.Models.customer>
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.first_name)
</th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.first_name)
</td>
</tr>
}
</table>
@foreach (var item in Model) {
<tr>
@foreach(var car in item.customer_cars){
<td>
@Html.DisplayFor(car => car.model)
</td>
}
</tr>
}