C# と asp.net の学習の一環として、2 つのテーブルがあります。顧客と注文、および私の POCO での 1:m の関係。
public class Customer
{
public int CustID {get; set;}
public string FirstName {get; set;}
public string LastName {get; set;}
public List<Orders> orders {get; set;}
}
public class Orders
{
public int OrdersID {get; set;}
public int CustID {get; set;}
public string OrderName {get; set;}
public virtual Customer customer {get; set;}
}
ここで私の質問は、Customer インスタンスではなくOrders インスタンスから 1 つのビューに Customer と Orders の両方のリストを表示する方法です。
これは私のコントローラーにあるものです:
namespace MvcApplication3.Controllers
{
public class janController : Controller
{
private coContext db = new coContext();
public ViewResult Index()
{
return View(db.customer.ToList());
}
私のDbContextのコード:
namespace MvcApplication3.Models
{
public class coContext : DbContext
{
public DbSet<Customer> customers { get; set; }
public DbSet<Orders> orders { get; set; }
}
}
私の部分的なビューには以下のコードがあります:
@model List<MvcApplication3.Models.Customer>
@foreach(var customer in Model) {
<div>Display customer props:</div>
@Html.DisplayFor(m => customer.LastName)
<div>Display Orders:
**@foreach(var order in customer.Orders)** {
<div>Display some order props:
@Html.DisplayFor(m => order.OrderName)
</div>
}
</div>
}
顧客インスタンスから子プロパティまたはデータを表示するつもりです。簡単に言えば、顧客、つまり顧客の FirstName Lastname (これらは一意である必要があります) に基づいて関連データを読み取り、その後に関連データ (OrderName) を取得したいと考えています。それが私がやろうとしていることです。