c#中Linq to Sql 增删除的实例

抽像类:  


代码如下:

public abstract class AbUserAll
    {
        public abstract IQueryable<User_ALL> FindUserAll();
        public abstract User_ALL FindUserAllById(int userid);
        public abstract void Add(User_ALL user);
        public abstract void Update(User_ALL user);
        public abstract void Delete(User_ALL user);
        public abstract void Save();
    }

代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace WF.Models.DAL
{
    public class UserDal:IDAL.AbUserAll
    {
        private PL_ModelDataContext db = new PL_ModelDataContext();
        public override IQueryable<User_ALL> FindUserAll()
        {
            return db.User_ALL;
        }

public override void Delete(User_ALL user)
        {
            db.User_ALL.DeleteOnSubmit(user);
        }

public override void Save()
        {
            db.SubmitChanges();
        }

public override User_ALL FindUserAllById(int userid)
        {
            return db.User_ALL.SingleOrDefault(o => o.INT == userid);
        }

public override void Add(User_ALL user)
        {
            db.User_ALL.InsertOnSubmit(user);
        }

public override void Update(User_ALL user)
        {
            var editStudent = db.User_ALL.SingleOrDefault<User_ALL>(s => s.INT == user.INT);
            if (editStudent != null)
            {
                editStudent.UserName = user.UserName;
                editStudent.Address = user.Address;
            }
            db.SubmitChanges();

}
    }
}

代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace WF.Controllers
{
    public class UserController : Controller
    {
        Models.DAL.UserDal dbuser = new Models.DAL.UserDal();
        //
        // GET: /User/

public ActionResult UserList()
        {

return View(dbuser.FindUserAll());
        }

//
        // GET: /User/Create

public ActionResult Create()
        {
            return View();
        }

//
        // POST: /User/Create

[HttpPost]
        public ActionResult Create(FormCollection collection,Models.User_ALL user)
        {
            try
            {
                dbuser.Add(user);
                dbuser.Save();
                return RedirectToAction("UserList");
            }
            catch
            {
                return View();
            }
        }

//
        // GET: /User/Edit/5

public ActionResult UserEdit(int id)
        {

return View(dbuser.FindUserAllById(id));
        }

//
        // POST: /User/Edit/5

[HttpPost]
        public ActionResult UserEdit(Models.User_ALL user, FormCollection collection)
        {
            try
            { 
                dbuser.Update(user);
                dbuser.Save();
                return RedirectToAction("UserList");
            }
            catch
            {
                return View();
            }
        }
    }
}

(0)

相关推荐

  • C# Linq读取XML文件的实例

    1.示例XML文件:Demo.xml 复制代码 代码如下: <?xml version="1.0" encoding="utf-8" ?><note>  <conf>    <to>infozero</to>    <from>lerroy</from>    <heading>测试信息</heading>    <body>第一条测试信息<

  • C#中Linq延迟查询的例子

    提出问题 下面所给代码编译时正常,但是执行时会出错,请指出程序在执行时能够执行到编号为(1)(2)(3)的代码行中的哪一行. using System; using System.Collections.Generic; using System.Linq; namespace DeferredExecutionExp { class Program { static void Main(string[] args) { List<Student> studentList = new List

  • C#操作LINQ to SQL组件进行数据库建模的基本教程

    建立实体类 使用LINQ to SQL时,需要首先建立用于映射数据库对象的模型,也就是实体类.在运行时,LINQ to SQL 根据LINQ表达式或查询运算符生成SQL语句,发送到数据库进行操作.数据库返回后,LINQ to SQL负责将结果转换成实体类对象. 建立实体类的方法有很多,例如LINQ to SQL设计器,手动编码建立,使用XML文件映射,使用命令行工具SqlMetal生成等.其中最方便的就是LINQ to SQL设计器. 1.使用LINQ to SQL设计器建立实体类       

  • C#使用LINQ查询表达式的基本子句总结

    LINQ查询表达式的基本语法很容易掌握,它使用C#常见的语言构造,从外观上看,和我们常用的SQL类似,并且查询表达式中的变量可以用匿名类型,所以在很多情况下,不需要指定变量类型就可以构建LINQ表达式. LINQ的数据源可以是数据库对象或是XML流等,也可以使实现了IEnumerable或者泛型IEnumberable<T>接口的集合对象. LINQ的基本语法包含如下的8个上下文关键字,这些关键字和具体的说明如下: 关键字 说明 from 指定范围变量和数据源 where 根据bool表达式从

  • C# LINQ to XML应用介绍

    W3C制定了XML DOM标准,.Net为了支持W3C的标准,从1.1版本开始就引入了XmlDocument类.我在前一篇博客中,介绍了如何使用XmlDocument类来对XML文档进行操作.后来 .Net又引入了LINQ,于是LINQ to XML也就应运而生,所以在.Net中,不仅可以用W3C XML DOM标准,还可以使用LINQ to XML来操作XML文档.下面就来简单介绍一下如何使用LINQ to XML. (一) 加载 加载XML比较常用的有三种方法: 复制代码 代码如下: pub

  • C#使用LINQ中Enumerable类方法的延迟与立即执行的控制

    延时执行的Enumerable类方法 LINQ标准查询运算法是依靠一组扩展方法来实现的.而这些扩展方法分别在System.Linq.Enumerable和System.Linq.Queryable这连个静态类中定义. Enumerable的扩展方法采用线性流程,每个运算法会被线性执行.这种执行方法如果操作类似关系型数据库数据源,效率会非常低下,所以Queryable重新定义这些扩展方法,把LINQ表达式拆解为表达式树,提供程序就可以根据表达式树生成关系型数据库的查询语句,即SQL命令,然后进行相

  • C#中Linq查询基本操作使用实例

    摘要:本文介绍Linq查询基本操作(查询关键字) - from 子句 - where 子句 - select子句 - group 子句 - into 子句 - orderby 子句 - join 子句 - let 子句 - 复合from子句 - 在某些情况下,源序列中的每个元素本身可能是序列(集合),也可能包含序列 - 用语访问单个数据库中的内部集合 - 使用多个from字句执行连接 - 可以包含多个可从独立数据源生成补充查询的from字句 复合(顾名思义就是有多from的字句)实例: 复制代码

  • C#中的Linq to Xml详解

    前言 我相信很多从事.NET开发的,在.NET 3.5之前操作XML会比较麻烦,但是在此之后出现了Linq to Xml,而今天的主人公就是Linq to Xml,废话不多说,直接进入主题. 一.生成Xml 为了能够在结构有一定的组织,笔者建议大家新建一个控制台项目,并且新建一个CreateXml类(以下部分都属于该类中). 并在其中写入以下属性: 复制代码 代码如下: public static String Path         {             get            

  • C#程序中使用LINQ to XML来查询XML格式数据的实例

    关于LINQ to XML LINQ to XML 是一种启用了 LINQ 的内存 XML 编程接口,使用它,可以在 .NET Framework 编程语言中处理 XML. 它将 XML 文档置于内存中,这一点很像文档对象模型 (DOM). 您可以查询和修改 XML 文档,修改之后,可以将其另存为文件,也可以将其序列化然后通过网络发送. 但是,LINQ to XML 与 DOM 不同: 它提供一种新的对象模型,这是一种更轻量的模型,使用也更方便,这种模型利用了 VisualC# 2008 在语言

  • c#使用linq技术创建xml文件的小例子

    复制代码 代码如下: using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.IO;using System.Xml;using System.Xml.Linq; namespa

随机推荐