3

ASP.NET MVC 3 で MASSIVE.CS を使用して使用できるデータベースを作成する方法がわからないため、助けを求めたいです。

このMASSIVEクラスをMVCプロジェクトに実装する方法と、接続文字列がノースウィンドデータベースに接続する方法を理解することに固執しています。私はこのチュートリアル https://github.com/robconery/massiveしか持っていませんが、まだ理解に問題があります。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MovieMassive.Models;

namespace MovieMassive.Controllers
{
    public class MoviesController : Controller
    {

        MovieTable dbMovies = new MovieTable();

        public ActionResult Index()
        {
            dbMovies.Query("SELECT * FROM MovieTable");
            return View(dbMovies);
        }

        public ActionResult Add() {
            return View();
        }
    }
}

接続文字列:

<add name="MyConnectionString" connectionString="data source=|DataDirectory|MyDatabase.sdf"  providerName="System.Data.SqlServerCe.4.0"/>

MovieTable クラス:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Massive;

namespace MovieMassive.Models
{
    public class MovieTable : DynamicModel
    {
        public MovieTable() : base("movieMassive", "MovieTable", "ID") { }
    }
}

さて、ここに私が欲しいものがあります. View を正しく実行する方法を教えてくださいIndex.cshtml。プロパティはまだありません。データベースでそれを実装する方法がわからないため...どんな助けでも大歓迎です..

@model IEnumerable<MovieMassive.Models.MovieTable>

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>

<p>
    @Html.ActionLink("Create New", "Create")
</p>

<table>
    <tr>
        <th>Title</th>
        <th>ReleaseDate</th>
        <th>Genre</th>
        <th>Price</th>
        <th>Rating</th>
    </tr>

@foreach (var item in Model) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.Title)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.ReleaseDate)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Genre)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Price)
        </td>
        <td>
            @Html.ActionLink("Edit", "Edit", new { id=item.ID }) |
            @Html.ActionLink("Details", "Details", new { id=item.ID }) |
            @Html.ActionLink("Delete", "Delete", new { id=item.ID })
        </td>
    </tr>
}

</table>

Massive を使用して基本的な CRUD を作成するには、これを正しく実行する必要があります。前もって感謝します..

4

1 に答える 1

6

コードが問題に更新された後のOPコメントへの更新

Jed、MoviesController をこれに変更してください

public class MoviesController : Controller
{
    public ActionResult Index()
    {
        MovieTable dbMovies = new MovieTable();
        dbMovies.All();
        return View(dbMovies);
    }
    ...
}

TekPub.com にアクセスし、Rob Conery が Massive ファイルを MVC アプリに実装する方法を示しているので、MVC 2 ビデオ (無料なので) をご覧ください。

直リンクはこちら

ASP.NET MVC の概念 - 無料

Rob の Massive.cs ファイルは基本的に、データストアにテーブルをクエリし、それらをアプリケーション内のオブジェクトとして使用する ORM (オブジェクト リレーショナル マッピング) ツールです。

実装は簡単です。必要なもの:

  • データベースを指す web.config の ConnectionString。SQL 接続文字列の例を次に示します。

    <connectionStrings>
        <add name="MyConnectionString" 
             connectionString="Data Source=DNSServerName;Initial Catalog=DatabaseName;user id=Username;password=Password" 
             providerName="System.Data.SqlClient" />
    </connectionStrings>
    

MS SQL 以外のものを使用している場合は、特定のプラットフォームの connectionstrings.com にアクセスできます。

  • GitHub からダウンロードした Massive.cs ファイルをアプリケーションにドロップします。ソリューションの分割方法によって、ファイルを追加する場所が異なります。ASP.NET MVC アプリで 1 つのプロジェクトのみを使用している場合は、それをプロジェクト ルートに追加するか、そのフォルダーを作成するだけです。私の記憶が正しければ、Rob は Infrastructure というフォルダーを使用します。

注 - ほとんどの実際のアプリケーションは、UI プロジェクト、ビジネス ロジック層、およびデータ アクセス層で構成されています。このような N 層ソリューションを使用している場合は、Massive.cs ファイルを DAL に入れる必要があります。

  • Massive の実装はこれですべてです。

使用法

アプリで大規模を使用するには、次のようにします。レイヤーを分離せずに、単一のプロジェクト MVC アプリの単純な例を使用しています。

public ActionResult Index() {
    var table = new Products();
    var products = table.All();
    return View(products);
}

繰り返しますが、これは厳密な使用法ではありません。MVC パターンの使用と、ソリューション/アプリケーションを正しい設計に構造化する方法についてすべてを学ぶ必要があります。通常、プロパティを持つ ViewModel を使用し、Massive 呼び出しから返されたものを ViewModelProductにマップします。productstable.All();

これは簡単な短期集中コースでした。誰かの役に立てば幸いです :-)

于 2012-05-28T00:01:34.433 に答える