博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一步一步学Linq to sql(三):增删查改
阅读量:6219 次
发布时间:2019-06-21

本文共 4738 字,大约阅读时间需要 15 分钟。

前言

  今天主要是来学习一下,通过Linq如何进行数据库的操作,增加、删除、修改。准备工作,先是建立了一个Asp.Net Mvc 3.0的Web项目,

然后建立一个数据库,表

USE [YQBlog]GOCREATE TABLE [dbo].[tbGuestBook](	[ID] [uniqueidentifier] NOT NULL primary key,	[UserName] [varchar](50) NOT NULL,	[PostTime] [datetime] NOT NULL,	[Message] [varchar](400) NULL,	[IsRequired] [bit] NOT NULL,	[Reply] [varchar](400) NULL )

生成实体类

       右键点击网站项目,选择添加新项,然后选择“Linq to sql Classes”,命名为GuestBook。然后打开App_Code里面的GuestBook.dbml。设计视图上的文字提示你可以从服务器资源管理器或者攻击箱拖动项到设计界面上来创建实体类。

那么,我们就在服务器资源管理器中创建一个指向GuestBook数据库的数据连接,然后把tbGuestBook表拖动到GuestBook.dbml的设计视图上,按CTRL+S保存。打开GuestBook.designer.cs可以发现系统自动创建了GuestBook数据库中tbGuestBook表的映射。记得主键的设置哦。

首页加载列表

 首先为了简单,在HomeController中建立一个全局变量

GuestBookDataContext ctx = new GuestBookDataContext(ConfigurationManager.ConnectionStrings["YQBlogConnectionString"].ConnectionString);

那么关于加载列表的后台代码如下

public ActionResult Index()        {            ViewBag.Message = "欢迎使用 ASP.NET MVC!";            List
list = (from gb in ctx.tbGuestBook orderby gb.PostTime descending select gb).ToList(); return View("Index",list); }

再来看一下列表视图代码

@{    ViewBag.Title = "主页";}@using MvcOperation;@model List

@ViewBag.Message

若要了解有关 ASP.NET MVC 的更多信息,请访问 http://asp.net/mvc

@Html.ActionLink("添加", "AddBook", "Home")

@{ foreach(tbGuestBook Book in Model) {
@if(Book.IsRequired==true) {
} else {
}
} }
姓名 消息 发表时间 是否需要回复 操作
@Book.UserName @Book.Message @Book.PostTime @Html.ActionLink("删除", "DelBook", "Home", new { id=Book.ID},null) @Html.ActionLink("修改", "UpdateBook", "Home", new { id=Book.ID},null)

  

看列表就这样展示出来了哦。

添加

 看上面截图中有一个操作一栏,删除和修改。

public ActionResult SaveBook(tbGuestBook tb)        {                tb.ID = Guid.NewGuid();                tb.IsRequired = false;                tb.PostTime = DateTime.Now;                ctx.tbGuestBook.InsertOnSubmit(tb);                ctx.SubmitChanges();                return Index();        }

  添加保存时的代码,简单赋值,通过Linq专有方法即可提交到数据库中哦。

再来看一下添加的视图的代码

AddBook

@using(Html.BeginForm("SaveBook","Home",FormMethod.Post)) {
@Html.Label("姓名") @Html.TextBoxFor(c=>c.UserName,new { @style = "width:300px;"})
@Html.Label("留言") @Html.TextAreaFor(c=>c.Message, new { @style = "width:300px;height:50px;" })
@Html.Label("是否需要回复") 是 @Html.RadioButtonFor(c=>c.IsRequired, 1, true)  否 @Html.RadioButtonFor(c => c.IsRequired, 0, false)
@Html.HiddenFor(c=>c.ID) }

  当然这顺便也是修改的视图代码了哦

修改

public ActionResult UpdateBook(string id)        {            tbGuestBook gb = ctx.tbGuestBook.Single(b => b.ID == new Guid(id));            return View("AddBook",gb);        }

点击列表修改时,通过传递的ID进行查找,然后展示到AddBook视图中进行绑定数据,就可以修改了。

public ActionResult SaveBook(tbGuestBook tb)        {            tbGuestBook gb = null;            if (tb.ID.ToString() != "00000000-0000-0000-0000-000000000000")            {                gb = ctx.tbGuestBook.Single(b => b.ID == new Guid(tb.ID.ToString()));                gb.PostTime = DateTime.Now;                gb.UserName = tb.UserName;                gb.Message = tb.Message;                ctx.SubmitChanges();                return Index();            }            else            {                tb.ID = Guid.NewGuid();                tb.IsRequired = false;                tb.PostTime = DateTime.Now;                ctx.tbGuestBook.InsertOnSubmit(tb);                ctx.SubmitChanges();            }                return Index();        }

这就是添加和修改的保存代码

删除

public ActionResult DelBook(string id)        {            tbGuestBook gb = ctx.tbGuestBook.Single(b => b.ID == new Guid(id));            ctx.tbGuestBook.DeleteOnSubmit(gb);            ctx.SubmitChanges();            return Index();        }

总结

简单的实例代码,就是这样的,自己感觉表面的还是很简单的。

示例代码下载地址 

转载地址:http://zwoja.baihongyu.com/

你可能感兴趣的文章
百度地图,创建标点
查看>>
Linux内核2.6.14源码分析-双向循环链表代码分析(巨详细)
查看>>
javascript事件坐标
查看>>
读代码整洁之道
查看>>
编程语言中的“贵族” C++国际软件工程师
查看>>
iOS 之 编外知识点
查看>>
数据定义
查看>>
学习总结以及对接下来的规划
查看>>
Linux内核设计第六周学习总结 分析Linux内核创建一个新进程的过程
查看>>
Hadoop的I/O操作
查看>>
Entity Framework 学习之--Ling to entity实现分页
查看>>
UESTC 1700 Shaking Your Cellphone 并查集
查看>>
UVA 11478 Halum 差分约束系统 + 二分答案
查看>>
python之 列表常用方法
查看>>
《大道至简》第二章读后感
查看>>
照顾好自己
查看>>
HDU2708 Vertical Histogram
查看>>
11-05笔记图
查看>>
android.os.NetworkOnMainThreadException
查看>>
在Visual Studio 2010中使用Excel的名称
查看>>