我试图清理我在应用程序中访问数据的方式。我已经开始转向存储库模式,我遇到的第一个问题之一是访问我的相关数据。
经过一些研究后,我发现你可以使用.Include()访问相关数据,但我似乎无法让它工作,也不确定我设置的方式是否正确。
如何在存储库模式中使用预先加载?我已经包含了我的代码,以向您展示我如何设置的路线图。我省略了某些项目以保持简洁和简单。
IRepository.cs
TypeError: non-boolean (DataArrays.NAtype) used in boolean context
in create_lineups at C:\Users\Jake\Documents\GitHub\MLB_DFS_ALGO.jl:176
in include_string at loading.jl:288
in eval at C:\Users\Jake\.julia\v0.4\Atom\src\Atom.jl:3
[inlined code] from C:\Users\Jake\.julia\v0.4\Atom\src\eval.jl:39
in anonymous at C:\Users\Jake\.julia\v0.4\Atom\src\eval.jl:108
in withpath at C:\Users\Jake\.julia\v0.4\Requires\src\require.jl:37
in withpath at C:\Users\Jake\.julia\v0.4\Atom\src\eval.jl:53
[inlined code] from C:\Users\Jake\.julia\v0.4\Atom\src\eval.jl:107
in anonymous at task.jl:58
CustomerRepository.cs 在这里,我通过指定.Include然后定义相关表来添加了预先加载。
public interface ICustomerRepository : IDisposable
{
IEnumerable<customer> GetRelatedData();
}
CustomerController.cs 我认为在这个级别,GetRelatedData将使用CustomerRepository.cs中定义的include
public IEnumerable<customer> GetRelatedData()
{
return context.customers
.Include(x => x.customer_cars)
.ToList();
}
索引视图 我现在需要显示数据,但由于我不确定如何在我的视图中显示相关数据,因此我陷入了困境。
public ActionResult Index()
{
var customers = customersRepository.GetRelatedData();
return View(customers);
}
可能是我的方法不正确我已经从ASP.NET MVC教程中获得了指导,但是我无法理解如何使这个热切的加载方案在存储库模式中工作。任何帮助表示赞赏。
答案 0 :(得分:0)
您应该在客户对象中拥有客户车辆集合。
这样的事情:
@foreach (var item in Model) {
<tr>
@foreach(var car in item.customer_cars){
<td>
@Html.DisplayFor(car => car.model)
</td>
}
</tr>
}