LinQ 创建连接、简单增删改查

LINQ——语言集成查询(Language Integrated Query)是一组用于c#和Visual Basic语言的扩展。它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作内存数据。

全名:LinQ to sql类:集成化的数据访问类。会自动生成,进行数据库数据访问。

LinQ的创建:

1、链接数据库:添加--添加新项--找到LINQ to SQL类--名字就叫数据库的名称就好。

2、实例化:找到连接到的数据库,要操作的表拖进来就行了。

3、操作数据库:直接添加类,名称写操作的表名就可以。

创建连接:

添加新项→LinQ to sql类→重命名为需要用的数据库名→服务器资源管理器→连接到数据库→填写服务器名、用户名密码、连接到数据库的名称→从数据连接中要到要引用的表拖进 数据库名.dbml 中

增删改查表达式

查询:

新建类:数据访问类,添加方法:

    Data0617DataContext con = new Data0617DataContext();
    public List<Users> Select()
    {
        return con.Users.ToList();
    }

条件查询:使用Lamdba表达式 多条用&&

r:自定义名 指数据库中的一行数据

    public List<Users> Select(string uname)
    {
        //Lamdba表达式
        return con.Users.Where(r => r.UserName == uname && r.PassWord == "1234").ToList();

    }

字段扩展:新建类:+ partial

复制代码
public partial class Users
{

    public string SexStr { get { return Convert.ToBoolean(_Sex) ? "男" : "女"; } }
    public string BirStr { get { return Convert.ToDateTime(this._Birthday).ToString("yyyy年MM月dd日"); } }

    //public string NationName { get { return new NationData().SelectNationName(_Nation); } }

    public string Nname { get { return Nation1.NationName; } }
}
复制代码

添加:

    Data0617DataContext con = new Data0617DataContext();
    public void Insert(Users u)
    {
        con.Users.InsertOnSubmit(u);
        con.SubmitChanges();
    }

删除:

先查到该数据再删除

FirstOrDefault()//取数据的第一条,若没有返回一个null
First()     //取数据的第一条,若没有会报错
复制代码
    public void Delete(string Uname)
    {
        Users uu = con.Users.Where(r => r.UserName == Uname).FirstOrDefault();
        if (uu != null)
        {
            con.Users.DeleteOnSubmit(uu);
            con.SubmitChanges();
        }
    }
复制代码

修改:

先查到该数据 再重新赋值 提交更新数据

复制代码
    public void Update(Users u)
    {
        Users uuu = con.Users.Where(r => r.UserName == u.UserName).FirstOrDefault();
        uuu.PassWord = u.PassWord;
        uuu.NickName = u.NickName;
        uuu.Sex = u.Sex;
        uuu.Birthday = u.Birthday;
        uuu.Nation = u.Nation;
        con.SubmitChanges();
    }
原文地址:https://www.cnblogs.com/weiwenxin01/p/5970989.html