LinQ to SQL 存储过程

LINQ to SQL 能够调用存储过程从数据库中查询数据。为了方便开发人员调用存储过程,LINQ to SQL将为存储过程创建一个方法,并指定该方法调用的存储过程,以及传入的参数和返回值。

在左边数据连接中把写好的存储过程托到右边第二个里面就可以,当方法调用

查询数据

use LinqDB    //创建一个存储过程
go
create proc Pr_GetUsers
as
select * from UserInfo order by ID desc      
go
LinqDBDataContext db = new LinqDBDataContext();
        var result = from u in db.Pr_GetUsers()
                     where u.ID < 50
                     select u;
    //绑定控件并显示
    dl_List.DataSource = result;    可以直接当数据源使用  dl_List.DataSource=db.Pr_GetUsers()
dl_List.DataBind();

添加数据

create proc Pr_InsertCategory
(
  @Name varchar(50)=null,
  @ParentID int=null,
   @ShowOrder int=null,
  @Remark text=null
)
as
insert into Category ([Name],ParentID,ShowOrder,Remark) values (@Name,@ParentID,@ShowOrder,@Remark)
go
 LinqDBDataContext db = new LinqDBDataContext();
        int result= db.Pr_InsertCategory(t_Name.Text, Convert.ToInt32(ddl_Parent.SelectedValue), Convert.ToInt32(t_Num.Text), t_Words.Text);
        if (result!=-1)
        {
            Response.Write("<script>alert('添加成功!')</script>");
        }
        else
        {
            Response.Write("<script>alert('添加失败!')</script>");
        }

删除数据同理  

DataContext 类相关的方法

检测数据库是否存在的DatabaseExists()方法

LinqDBDataContext db = new LinqDBDataContext();
        if (db.DatabaseExists())
        {
            Response.Write("数据库连接成功!");
        }

DatabaseExists()方法在检测指定的数据库时,将尝试打开DataContext类的实例指定的数据库连接。如果打开连接成功,则返回true,否则返回false;

创建数据库的CreateDatabase()方法

 db.CreateDatabase();

删除数据库的DeleteDatabase()方法

db.DeleteDatabase();

执行SQL命令的ExcuteCommand()方法

 LinqDBDataContext db = new LinqDBDataContext();
        string cmdText = "update userinfo set username=username+'"+DateTime.Now.Year+"' where ID>90";  //相当于SQL语句
        int result = db.ExecuteCommand(cmdText);
        Response.Write(result + "条数据被更新");

执行SQL查询的ExcuteQuery()方法

LinqDBDataContext db = new LinqDBDataContext();
        string cmdText = "select top 10 * from userinfo";
        //执行SQL查询
       IEnumerable<UserInfo> result=  db.ExecuteQuery<UserInfo>(cmdText);  //接口不能new 可以用子类来接受
       foreach (UserInfo u in result)
       {
           Response.Write("用户名称:" + u.Username + "<br>");
       }
原文地址:https://www.cnblogs.com/Sea1ee/p/5950859.html