Linq二 LinqToSql

时间:2022-04-10 07:09:30

虽然微软已经停止更新了LinqToSql,但是目前的已完全满足目前的需求.

第一步:添加LinqToSql

Linq二 LinqToSql

第二步:将其关联的Sqlserver数据库

Linq二 LinqToSql

第三步:数据库已变成实体类

Linq二 LinqToSql

第四步:可以对数据库进行增删改查操作

   static void Main(string[] args)
{
DataClassesDataContext dataContext = new DataClassesDataContext(); //生成分类实体类
Category category1 = new Category()
{
Name = "国际要闻"
};
dataContext.Category.InsertOnSubmit(category1);
dataContext.SubmitChanges();
}

这样就新增成功了

DataClassesDataContext  这个相当于EF中的DBContext,数据库所有对象都在里面了

DataClassesDataContext的属性Category就是映射数据表的一个集合属性

Category category1 = new Category()   就相当于表的实体类,属性映射到对应字段

       Insert操作
      Insert用于向数据库添加记录。一般情况下,使用“DataContext.表映射集合.InsertOnSubmit(实体类)”的方式就可以完成Insert操作。不过这里要注意一点,由于Linq to Sql使用了“Unit of Work”模式,所以,对数据库的操作不会立即提交到数据库,而要调用DataContext的SubmitChanges方法,所有改动才会被提交到数据库。

Delete操作
      Delete操作用于从数据库中删除记录。表映射集合的DeleteOnSubmit方法可以实现这个操作。这个方法需要一个参数,就是要删除的实体类,这里不能直接传个ID去删除,要首先通过ID找到相应实体类,传给DeleteOnSubmit再删除。当然最后不要忘了SubmitChanges。

Update操作
      Update操作用于更新数据库中某已存在记录的信息。在Linq to Sql中,Update操作就是首先加载相应的实体类,修改其相应字段后,SubmitChanges就可以了。

Select操作

        dataContext.Category是一个linq.Data.Table<T>的一个泛型集合,所有我们可以使用Linq进行查询

 var s = from b in dataContext.Category
where b.ID ==
orderby b.ID
select b.Name;