zoukankan      html  css  js  c++  java
  • linq to sql DAL

    1. using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Text;
      using System.Data.Linq;

      namespace DAL
      {
      public class LinQBaseDao
      {
      /// <summary>
      /// 查询所有的记录
      /// </summary>
      /// <typeparam name="T"></typeparam>
      /// <param name="dc"></param>
      /// <returns></returns>
      public IEnumerable<T> Query<T>(DataContext dc) where T:class
      {
      return dc.GetTable<T>().AsEnumerable<T>() ;
      }
      /// <summary>
      /// 按条件查询记录
      /// </summary>
      /// <typeparam name="T"></typeparam>
      /// <param name="dc"></param>
      /// <param name="fun"></param>
      /// <returns></returns>
      public IEnumerable<T> Query<T>(DataContext dc, Func<T,bool> fun) where T : class
      {
      return dc.GetTable<T>().Where<T>(fun).AsEnumerable<T>();
      }

      /// <summary>
      /// 查询单条 返回实体
      /// </summary>
      /// <typeparam name="T"></typeparam>
      /// <param name="fun"></param>
      /// <returns></returns>
      public T Single<T>(DataContext dc,Func<T, bool> fun) where T : class
      {
      return dc.GetTable<T>().Single<T>(fun);
      }

      /// <summary>
      /// 添加一条记录
      /// </summary>
      /// <typeparam name="T"></typeparam>
      /// <param name="dc"></param>
      /// <param name="tentity"></param>
      public void InsertOne<T>(DataContext dc, T tentity) where T : class
      {
      var table = dc.GetTable<T>();
      table.InsertOnSubmit(tentity);
      dc.SubmitChanges();
      }

      /// <summary>
      /// 添加多条记录
      /// </summary>
      /// <typeparam name="T"></typeparam>
      /// <param name="dc"></param>
      /// <param name="tentitys"></param>
      public void InsertToMany<T>(DataContext dc, IEnumerable<T> tentitys) where T : class
      {
      var table = dc.GetTable<T>();
      table.InsertAllOnSubmit(tentitys);
      dc.SubmitChanges();
      }

      /// <summary>
      /// 删除单条数据
      /// </summary>
      /// <typeparam name="T"></typeparam>
      /// <param name="dc"></param>
      /// <param name="tentity"></param>
      /// <param name="fun"></param>
      public void DeleteOne<T>(DataContext dc, T tentity, Func<T, bool> fun) where T : class
      {
      var table = dc.GetTable<T>();
      var result = table.Where<T>(fun).First<T>();
      table.DeleteOnSubmit(result);
      dc.SubmitChanges();
      }
      /// <summary>
      /// 按条件删除多条数据
      /// </summary>
      /// <typeparam name="T"></typeparam>
      /// <param name="dc"></param>
      /// <param name="tentitys"></param>
      /// <param name="fun"></param>
      public void DeleteToMany<T>(DataContext dc, IEnumerable<T> tentitys, Func<T, bool> fun) where T : class
      {
      var table = dc.GetTable<T>();
      var result = table.Where<T>(fun).AsEnumerable<T>();
      table.DeleteAllOnSubmit<T>(result);
      dc.SubmitChanges();
      }

      /// <summary>
      /// 删除多条数据
      /// </summary>
      /// <typeparam name="T"></typeparam>
      /// <param name="dc"></param>
      /// <param name="tentitys"></param>
      public void DeleteToManyByCondition<T>(DataContext dc, IEnumerable<T> tentitys) where T : class
      {
      var table = dc.GetTable<T>();
      table.DeleteAllOnSubmit<T>(tentitys);
      dc.SubmitChanges();
      }

      /// <summary>
      /// LINQ更新方法
      /// </summary>
      /// <typeparam name="T"></typeparam>
      /// <param name="dc"></param>
      /// <param name="fun"></param>
      /// <param name="tentity"></param>
      /// <param name="action"></param>
      public void Update<T>(DataContext dc, Func<T, bool> fun, T tentity, Action<T> action) where T : class
      {
      var table = dc.GetTable<T>().Single<T>(fun);
      //var table = dc.GetTable<T>().Where<T>(fun).Single<T>();
      action(table);
      dc.SubmitChanges();
      }
      }
      }

  • 相关阅读:
    CentOS 6.7 如何启用中文输入法
    10w数组去重,排序,找最多出现次数(精华)
    win10虚拟机搭建Hadoop集群(已完结)
    Linux常用命令
    调用接口显示Required request body is missing
    Git 的使用
    Navicat创建事件,定时更新数据库
    mysql生成UUID
    时间戳与字符串相互转换
    牛客中的错题
  • 原文地址:https://www.cnblogs.com/zcm123/p/3486984.html
Copyright © 2011-2022 走看看