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

Jed*_*Jed 3 c# northwind asp.net-mvc-3 massive

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

我一直在搞清楚如何将这个MASSIVE类实现到我的MVC项目以及连接字符串如何在northwind数据库中连接.我只有这个教程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();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

连接字符串:

<add name="MyConnectionString" connectionString="data source=|DataDirectory|MyDatabase.sdf"  providerName="System.Data.SqlServerCe.4.0"/>
Run Code Online (Sandbox Code Playgroud)

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") { }
    }
}
Run Code Online (Sandbox Code Playgroud)

好的,这就是我想要的,你能帮助我如何正确运行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>
Run Code Online (Sandbox Code Playgroud)

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

CD *_*ith 6

代码更新后,更新到OP注释

杰德,把你的MoviesController改成这个

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

访问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>
    
    Run Code Online (Sandbox Code Playgroud)

如果您使用的不是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);
}
Run Code Online (Sandbox Code Playgroud)

同样,这不是最严格的用法.您应该了解有关使用MVC模式以及如何将解决方案/应用程序构建到正确设计中的所有信息.通常,您将使用具有属性的ViewModel,Product然后products将从Massive调用返回table.All();的ViewModel 映射到ViewModel

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

  • 没问题,我知道在不知道转向的情况下很难开始.但StackOverflow真正面向不那么广泛的问题,并期望用户自己做了相当多的研究.像Rob Conery编写的像Massive.cs这样的东西有点具体,我知道在那里处理文档并不多. (2认同)