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

时间:2023-03-09 00:21:04
LinQ 创建连接、简单增删改查

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 == "").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();
}