私はサイトを検索し、グーグルでも検索しましたが、役に立ちませんでした。おそらく私は疲れていて、間違ったことをグーグルで調べているのでしょう。しかし、私は機知に富んでおり、本当に助けやアドバイスが必要です。ASP.NET MVC 4 を使用してツアー サイトを構築していますが、データベースから必要なすべての情報を取得するために使用する正しいクエリで問題が発生しました。
特定のサファリに関する情報を格納するクラス Safari があります。特定のサファリのハイライトに関する情報を格納する別のクラス Highlight があります。このように、サファリは 1 対多の関係でいくつかのハイライトを持つことができます。最初はリスト型の Safari のフィールドとしてハイライトを持っていましたが、それでも「ハイライト」の詳細のシードとクエリに問題があり、「ハイライト」フィールドが Safari テーブルに作成されていなかったので、ハイライトをクラス。ハイライト用のフィールドをシードすることはまだできませんでしたが、テーブルが作成されたので、手動で行うことができました (したがって、テーブルにデータがあることがわかります)。
利用可能なサファリだけでなく、関連するハイライトについてもデータベースにクエリを実行できるようにしたいと考えています。クラス Safari、Highlight、SafarisController、および Configuration も含めました。
Safari.cs
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public string Zone { get; set; }
public string Location { get; set; }
public int Cost { get; set; }
public List<Highlight> Highlights { get; set;
ハイライト.cs
public int Id { get; set; }
public string Content { get; set; }
public int SafariId { get; set; }
SafarisController.cs
private ToursTravelDb db = new ToursTravelDb();
public ActionResult Index()
{
var model = db.Safaris.ToList();
return View(model);
}
Configuration.cs
protected override void Seed(Travel_Site.Models.ToursTravelDb context)
{
context.Safaris.AddOrUpdate(
r => r.Name,
new Safari
{
Name = "Tsavo East Safari",
Description = "This is a short Kenya safari tour",
Location = "Tsavo East National Park",
Cost = 1200,
Zone = "Nairobi",
Highlights = new List<string>(new string{
"Tsavo East National park",
"Views of local homesteads on safari route.",
"Scenic Tsavo East savannah plains.",
"Elephants, Giraffe, Zebra, Buffalo, Cheetah, Lions etc.",
"Panoramic views of Tsavo East during lunch stop."
})
},
new Safari
{
Name = "Amboseli Overnight Safari",
Description = "Camp at the Amboseli National Park. ",
Location = "Amboseli National Park",
Cost = 1200,
Zone = "Nairobi",
Highlights = new List<string>(new string{
"Amboseli National Park",
"Hippopotatamus",
"Flamingoes"
})
}
);
}
正しい方向への助けや指針に感謝します。乾杯