gpt4 book ai didi

c# - 单个 View 中的多个存储库

转载 作者:太空宇宙 更新时间:2023-11-03 16:00:24 25 4
gpt4 key购买 nike

我阅读了一些有关创建包含多个存储库的 View 的问题,但我似乎无法获得正确的组合来使其正常工作。

I 3 个存储库,连接到 SQL 数据库中的三个不同表。我有每个正确显示信息的 Controller 和 View 模型。我似乎无法让部分观点发挥作用。当我创建一个 View 并尝试在 View 中使用部分 View 时,我收到错误消息,指出模型不包含存储库。我想知道我是否只需要一个包含 3 个存储库类的文件。

我有:DomainPlayerRepository.CS

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Domain.Games;

namespace Domain.Abstract
{
public interface DomainPlayerRepository
{
IQueryable<Player> Player { get; }
}

}

DomainGameRepository.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Domain.Games;

namespace Domain.Abstract
{
public interface DomainGameRepository
{
IQueryable<Game> Game { get; }
}
}

GamePartialView.cshtml

@model Domain.Games.Game

<div class="Game">
@Model.Date @Model.NumPlayers @Model.PotMoney

</div>

List.cshtml(用于播放器)

@model IEnumerable<Domain.Games.Player>

@{
ViewBag.Title = "Players";
}

<h2>Player</h2>

@foreach (var p in Model)
{
<div class ="player">
<h3>@p.FName @p.LName Handicap @p.Handicap.ToString()</h3>
</div>

}

@foreach (var p in Model)
{
<div class ="game">
@Html.Partial("GamePartialView", p)
</div>

}

我也一直在尝试获取一个包含我的两个存储库的 View 模型,但它还没有用。

MultiRepositoryViewModel.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Domain.Games;

namespace WebUI.Models
{
public class MultiRepositoryViewModel
{
public IEnumerable<Player> Player { get; set; }
public IEnumerable<Game> Game { get; set; }
}
}

最佳答案

将 View 的模型更改为 ViewModel 并使用您定义的属性

@model WebUI.Models.MultiRepositoryViewModel

@{
ViewBag.Title = "Players";
}

<h2>Player</h2>

@foreach (var p in Model.Player)
{
<div class ="player">
<h3>@p.FName @p.LName Handicap @p.Handicap.ToString()</h3>
</div>
}

@foreach (var p in Model.Game)
{
<div class ="game">
@Html.Partial("GamePartialView", p)
</div>
}

关于c# - 单个 View 中的多个存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21715102/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com