• 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();
      }
      }
      }

  • 相关阅读:
    sqlserver编程基本语法
    每日一记--技术小细节
    每日一记--jsp
    每日一记--session/servletContext
    每日一记--cookie
    每日一记--HashTable/HashMap/ConcurrentHashMap
    每日一记--Ajax(下)
    每日一记--Axjx
    每日一记--索引/过滤器
    每日一记--酱油日
  • 原文地址:https://www.cnblogs.com/zcm123/p/3486984.html
Copyright © 2020-2023  润新知