ASP.NET MVC プロジェクトで既存のデータベースを使用しようとしています。テーブル「Test」を持つ (Microsoft SQL) データベース (「.\SQLEXPRESS.Databases」) への「データ接続」を作成します。このテーブルには、「ID (int)」と「名前 (nvarchar(MAX))」の 2 つの列があります。
「Models」フォルダーに、この新しいクラスを配置しました。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;
namespace MvcMovie.Models
{
public class Test
{
public int ID { get; set; }
public string name { get; set; }
}
}
次に (「コントローラー」に) 新しいコントローラー「HelloWorldController」があります。これには、次の機能があります。
public ActionResult Index()
{
DataSet data;
DataTable table;
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
SqlCommand select = new SqlCommand("SELECT * FROM Test", connection);
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = select;
data = new DataSet();
adapter.Fill(data, "Test");
table = data.Tables[0]; //is the [0] really correct?
}
return View(/* HOW DO I GET THE TABLE TO THE VIEW? */);
}
ここで、「Index.cshtml」ファイル (「ビュー」内) にテーブルの行を表示したいと思います。コントローラーからビューにテーブルを取得するにはどうすればよいですか? 私が見つけたのは「@model」と「IEnumerable」ですが、テーブルを変換できないため、機能しません。
@model IEnumerable<MyProject.Models.Test>
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
@foreach (var item in Model) {
<p>blaaaah</p>
}
ここで 3 つの質問があります:
1. 私は何か完全に間違っているのでしょうか? (DB-Access の方法、..)
2. これを行う簡単な方法はありますか? (すべてのアダプターなしで、.. もの)
3. !1&&!2 の場合、どうすれば動作させることができますか? (ビューファイルを取得してテーブルを「知る」)
助けてくれてありがとう、
よろしく、
カバ