1. 程式人生 > >EF6 簡單增刪改查示例程式碼

EF6 簡單增刪改查示例程式碼

private DbContext _dbContext;  
       public DbContext CurrentContext  
       {  
           get  
           {  
               if (_dbContext == null)  
               {  
                   _dbContext = new TransitContext();  
               }  
               return _dbContext;  
           }  
       }  
  
       /// <summary>  
       /// 執行Sql查詢  
       /// </summary>  
       /// <typeparam name="TEntity"></typeparam>  
       /// <param name="strSql"></param>  
       /// <param name="paramObjects"></param>  
       /// <returns></returns>  
       public List<TEntity> SqlQuery<TEntity>(string strSql, params Object[] paramObjects) where TEntity : class  
       {  
           if (paramObjects == null)  
           {  
               paramObjects = new object[0];  
           }  
           return this.CurrentContext.Database.SqlQuery<TEntity>(strSql, paramObjects).ToList();  
       }  
  
       /// <summary>  
       /// 查詢  
       /// </summary>  
       /// <param name="predicate"></param>  
       /// <returns></returns>  
       public IQueryable<TEntity> Search<TEntity>(Expression<Func<TEntity, bool>> predicate) where TEntity : class  
       {  
           return CurrentContext.Set<TEntity>().Where(predicate);  
       }  
  
       /// <summary>  
       /// 查詢全部  
       /// </summary>  
       /// <returns></returns>  
       public IQueryable<TEntity> FindAll<TEntity>() where TEntity : class  
       {  
           return CurrentContext.Set<TEntity>();  
       }  
  
       /// <summary>  
       /// 插入  
       /// </summary>  
       /// <param name="entity"></param>  
       /// <param name="isSave"></param>  
       public void Insert<TEntity>(TEntity entity, bool isSave = true) where TEntity : class  
       {  
           CurrentContext.Set<TEntity>().Add(entity);  
           if (isSave)  
           {  
               CurrentContext.SaveChanges();  
           }  
       }  
  
       /// <summary>  
       /// 批量插入  
       /// </summary>  
       /// <param name="entitys"></param>  
       /// <param name="isSave"></param>  
       public void Insert<TEntity>(List<TEntity> entitys, bool isSave = true) where TEntity : class  
       {  
           foreach (var entity in entitys)  
           {  
               CurrentContext.Set<TEntity>().Add(entity);  
           }  
           if (isSave)  
           {  
               CurrentContext.SaveChanges();  
           }  
       }  
  
       /// <summary>  
       /// 更新  
       /// </summary>  
       /// <param name="entity"></param>  
       /// <param name="isSave"></param>  
       public void Update<TEntity>(TEntity entity, bool isSave = true) where TEntity : class  
       {  
           var local = FindLocal(CurrentContext, entity);  
           if (local == null)  
           {  
               throw new Exception("要更新的實體不存在");  
           }  
           ObjectMapper.CopyProperties(entity, local);  
           if (isSave)  
           {  
               CurrentContext.SaveChanges();  
           }  
       }  
  
       /// <summary>  
       /// 批量更新  
       /// </summary>  
       /// <param name="entities"></param>  
       /// <param name="isSave"></param>  
       public void Update<TEntity>(List<TEntity> entities, bool isSave = true) where TEntity : class  
       {  
           foreach (var entity in entities)  
           {  
               var local = FindLocal(CurrentContext, entity);  
               if (local == null)  
               {  
                   throw new Exception("要更新的實體不存在");  
               }  
               ObjectMapper.CopyProperties(entity, local);  
           }  
           if (isSave)  
           {  
               CurrentContext.SaveChanges();  
           }  
       }  
  
       /// <summary>  
       /// 刪除  
       /// </summary>  
       /// <param name="entity"></param>  
       /// <param name="isSave"></param>  
       public void Delete<TEntity>(TEntity entity, bool isSave = true) where TEntity : class  
       {  
           var local = FindLocal(CurrentContext, entity);  
           if (local == null)  
           {  
               throw new Exception("要刪除的實體不存在");  
           }  
           CurrentContext.Entry<TEntity>(local).State = EntityState.Deleted;  
           if (isSave)  
           {  
               CurrentContext.SaveChanges();  
           }  
       }  

相關推薦

EF6 簡單刪改示例程式碼

private DbContext _dbContext; public DbContext CurrentContext { get { if (_dbContext ==

JDBC刪改示例程式碼

首先使用如下SQL語句生成一個users表 create table users( id int primary key auto_increment, name varchar(40), password varchar(40), email va

QT5下SQLite的刪改示例程式碼

Author: Kagula Date: 2016-8-10 Envrionment: Qt 5.6 Introduction:    從專案中抽出來的如何操作sqlite的程式碼,這裡記下,免得時間久忘記了。 測試示例程式碼 void MainWindow::OnAd

php刪改示例程式碼

增刪改查是對資料庫最基本的操作,如何連線資料庫以及增刪改查等等相關知識。 1.連結資料庫通用方法:conn.php <?php //第一步:連結資料庫 [email protected]_connect("localhost:3306","root","

利用JDBC連線MySQL資料庫並實現刪改程式碼示例

一、實現增刪改: 比較簡單: import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement;

Redis:五種數據類型的簡單刪改

war value tro sts class 例子 list集合 ring one Redis簡單增刪改查例子 例一:字符串的增刪改查 #增加一個key為ay_key的值 127.0.0.1:6379> set ay_key "ay" OK #查詢ay_key的值

springboot(十五):springboot+jpa+thymeleaf刪改示例

pen 其中 底層原理 protect roo back styles ttr 喜歡 這篇文章介紹如何使用jpa和thymeleaf做一個增刪改查的示例。 先和大家聊聊我為什麽喜歡寫這種腳手架的項目,在我學習一門新技術的時候,總是想快速的搭建起一個demo來試試它的效果,越

進入全屏 nodejs+express+mysql實現restful風格的刪改示例

bug mark .com gpo source generator 業務邏輯 resp index 首先,放上項目github地址:https://github.com/codethereforam/express-mysql-demo 一、前言 之前學的ja

spring boot(十五)spring boot+thymeleaf+jpa刪改示例

ali 遍歷 config link examples 技術分享 返回 stat 業務 快速上手 配置文件 pom包配置 pom包裏面添加jpa和thymeleaf的相關包引用 <dependency> <groupId>org.sprin

Asp.net Core 2.1使用 EF Core 簡單刪改操作數據庫

generic nuget ini gen 項目 pub sass .net 增刪改查 Asp.net Core 2.1使用 EF Core 簡單增刪改查操作數據庫 大概步驟如下5步: 1、創建項目(Asp.net Core 2.1項目) 2、項目使用EF Core 3、建

ef6.0刪改操作

案例程式碼如下: Model1Container ef = new Model1Container(); //查詢 var liuyan = ef.LiuYan.Where(m => m.BH == "1").FirstOrDefault(); //查詢後更新 liuyan.QQ = "11838

mysql資料庫的簡單刪改,合併欄位,拼接字元操作,用java完成將一張表中的查詢結果合併存入另一張表的指定欄位

首先問題描述:我現在有兩個表,一個表是關鍵詞,一個表是含有關鍵詞的標籤,需要做的就是在關鍵詞表中新建一個標籤欄位,把包含該關鍵詞的全部標籤存入其中。比如關鍵詞是Java,標籤可能有Java開發,Java後臺等。我這裡關鍵詞有4000個,標籤有40000個,我用了小段java程式碼+sql的函式就完成

mybatis學習使用2簡單刪改

mybatis的增刪改查程式碼如下demo: User.java package com.rookie.bigdata.domain; import lombok.Data; import java.io.Serializable; /** * @author * @dat

Nodejs加Vue.js的簡單刪改

用的node做的後臺,資料庫為mysql,資料互動和頁面渲染用的vue,專案目錄圖: 話不多說,首先來看node專案的配置檔案app.js,註釋我會寫在程式碼裡 //引用模組 var express = require('express'); var path = require('p

SpringMVC+Spring+HIbernate 簡單刪改例項

SpringMVC+Spring+HIbernate 簡單增刪改查例項 HIbernate配置mysql資料庫的方式 和 Structs+spring+HIbernate 是一樣的。  可以理解為SpringMVC 把

Spring Boot 整合 Spring Data Jpa 刪改示例

原文地址:https://renguangli.com/articles/spring-boot-jpa 使用 Spring Data Jpa 對資料庫進行操作 Jpa 與 Spring Data Jpa 的關係 JPA 是Java Persistence API 的簡稱,中

JDBC的簡單刪改實現

這裡我們先在資料庫建立一個userinfo表: CREATE TABLE  userinfo (     userid` INT (11),     userName  VARCHAR (180),  &n

純JavaScript寫一個對錶格的簡單刪改操作

功能:     新增表格資料,   修改表格資料,  刪除表格資料。 不完善區:  刪除資料之後序號沒有做處理 ,表單驗證簡單的提示警告, 沒有文字提醒。 介面: 線上檢視 下面是程式碼:

BaseDAO刪改通用程式碼

實習已經兩三個月了,在這兩三個月中見到了很多以前沒有見到過的東西,也學到了很多的東西。其中,我覺得最神奇的地方就是我們公司的框架了,在學校的時候以為所有程式碼都是要手寫的,但是萬萬沒想到很多通用的程式碼竟然可以提取出來自動生成!!!   正好馬上要開始做畢業設計了,我準備自己也把通

SpringBoot JPA + H2刪改示例

下面的例子是基於SpringBoot JPA以及H2資料庫來實現的,下面就開始搭建專案吧。 首先看下專案的整體結構:  具體操作步驟: 開啟IDEA,建立一個新的Spring Initializr專案,填寫好groupID等資訊,依賴勾選web和H2,一路next: po