3

大家好,想寻求帮助,因为我不明白如何在 ASP.NET MVC 3 中使用 MASSIVE.CS 创建可以使用的数据库。

我一直在弄清楚如何在我的 MVC 项目中实现这个 MASSIVE 类,以及连接字符串如何在北风数据库中连接。我只有本教程 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"/>

电影表类:

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>

我需要这个正确运行以使用大量创建基本 CRUD。提前致谢..

4

1 回答 1

6

代码更新成问题后更新到 OP 评论

杰德,把你的 MoviesController 改成这个

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

访问 TekPub.com,观看 MVC 2 视频(因为它们是免费的),因为 Rob Conery 向您展示如何将 Massive 文件实现到 MVC 应用程序中

这是直接链接

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 应用程序中只使用一个项目,那么您可以将其添加到项目根目录中,或为其创建一个文件夹。如果我没记错的话,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,Product然后products将从 Massive 调用返回的映射table.All();到您的 ViewModel

这是一个简单的速成课程,希望对某人有所帮助:-)

于 2012-05-28T00:01:34.433 回答