MVC 入門 自動生成 增刪改查所有功能


MVC現在版本已經是5了   EF現在最新的應該是6.0.2了

開發工具是 Visual Studio2013

數據庫是 SQL Server 2012

這些需要.NET Framework4.5 的支持

如果沒安裝的同學可以先安裝一下.NET Framework4.5 

 

首先打開我們的開發環境,

把項目創建好了以后,

當然我這里是我之前寫好的,我就不創建了

項目目錄結構

現在在Models文件夾下邊創建一個

 

創建一個數據庫 MVCtest_DB

USE [MVCtest_DB]
GO

/****** Object:  Table [dbo].[UserTab]    Script Date: 2014/3/26 9:23:26 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[UserTab](
    [UID] [int] IDENTITY(1,1) NOT NULL,
    [UserName] [varchar](50) NULL,
    [UserPassword] [varchar](50) NULL,
    [status] [int] NULL,
 CONSTRAINT [PK_UserTab] PRIMARY KEY CLUSTERED 
(
    [UID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO
USE [MVCtest_DB]
GO

/****** Object:  Table [dbo].[RoleTab]    Script Date: 2014/3/26 9:24:38 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[RoleTab](
    [RID] [int] IDENTITY(1,1) NOT NULL,
    [Role] [varchar](500) NULL,
 CONSTRAINT [PK_RoleTab] PRIMARY KEY CLUSTERED 
(
    [RID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

創建兩張表 

到這里准備工作基本完成。

連接數據庫

點擊下一步 

連接好了之后

完成!

在Controllers里邊添加一個控制器  UserController

選擇控制器

好了等着 vs自己創建框架 視圖等

 public class UserController : Controller
    {
        private MVCtest_DBEntities db = new MVCtest_DBEntities();

        // GET: /User/
        public async Task<ActionResult> Index()
        {
            return View(await db.UserTabs.ToListAsync());
        }

        // GET: /User/Details/5
        public async Task<ActionResult> Details(int? id)
        {
            if (id == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }
            UserTab usertab = await db.UserTabs.FindAsync(id);
            if (usertab == null)
            {
                return HttpNotFound();
            }
            return View(usertab);
        }

        // GET: /User/Create
        public ActionResult Create()
        {
            return View();
        }

        // POST: /User/Create
        // 為了防止“過多發布”攻擊,請啟用要綁定到的特定屬性,有關 
        // 詳細信息,請參閱 http://go.microsoft.com/fwlink/?LinkId=317598
        [HttpPost]
        [ValidateAntiForgeryToken]
        public async Task<ActionResult> Create([Bind(Include="UID,UserName,UserPassword,status")] UserTab usertab)
        {
            if (ModelState.IsValid)
            {
                db.UserTabs.Add(usertab);
                await db.SaveChangesAsync();
                return RedirectToAction("Index");
            }

            return View(usertab);
        }

        // GET: /User/Edit/5
        public async Task<ActionResult> Edit(int? id)
        {
            if (id == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }
            UserTab usertab = await db.UserTabs.FindAsync(id);
            if (usertab == null)
            {
                return HttpNotFound();
            }
            return View(usertab);
        }

        // POST: /User/Edit/5
        // 為了防止“過多發布”攻擊,請啟用要綁定到的特定屬性,有關 
        // 詳細信息,請參閱 http://go.microsoft.com/fwlink/?LinkId=317598
        [HttpPost]
        [ValidateAntiForgeryToken]
        public async Task<ActionResult> Edit([Bind(Include="UID,UserName,UserPassword,status")] UserTab usertab)
        {
            if (ModelState.IsValid)
            {
                db.Entry(usertab).State = EntityState.Modified;
                await db.SaveChangesAsync();
                return RedirectToAction("Index");
            }
            return View(usertab);
        }

        // GET: /User/Delete/5
        public async Task<ActionResult> Delete(int? id)
        {
            if (id == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }
            UserTab usertab = await db.UserTabs.FindAsync(id);
            if (usertab == null)
            {
                return HttpNotFound();
            }
            return View(usertab);
        }

        // POST: /User/Delete/5
        [HttpPost, ActionName("Delete")]
        [ValidateAntiForgeryToken]
        public async Task<ActionResult> DeleteConfirmed(int id)
        {
            UserTab usertab = await db.UserTabs.FindAsync(id);
            db.UserTabs.Remove(usertab);
            await db.SaveChangesAsync();
            return RedirectToAction("Index");
        }

        protected override void Dispose(bool disposing)
        {
            if (disposing)
            {
                db.Dispose();
            }
            base.Dispose(disposing);
        }
    }

這是他自己創建的代碼

但讓這個時間視圖也創建好了

瀏覽器打開一下

當然增刪改都不用你再去動手  全都好了 

是不是很快速啊!

 

如果覺得有幫助記得推薦一下 支持我一下

 

作者:zhangwenjian
出處:http://www.cnblogs.com/zhangwenjian

轉移:http://www.zhangwj.com
本文版權歸作者所有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM