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

时间:2021-03-23 08:31:12

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

 

创建连接:

添加新项→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();
    }