ASP.NET Massive - 如何创建数据库以显示VIEW

时间:2012-05-27 23:58:28

标签: c# asp.net-mvc-3 massive northwind

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

我陷入困境,想知道如何将这个MASSIVE类实现到我的MVC项目以及连接字符串如何在northwind数据库中连接。我只有this tutorial 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>

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

1 个答案:

答案 0 :(得分:6)

在代码更新为问题后更新为OP评论

Jed,将你的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 Concepts - free

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模式以及如何将解决方案/应用程序构建到正确设计中的所有信息。通常情况下,您会使用属性为Product的ViewModel,然后将从Massive调用返回的products映射到您的ViewModel

这是一个简单的速成课程,希望它可以帮助某人: - )