EF提交插入数据catch捕获具体异常方法

try { db.SaveChanges(); }
catch (DbEntityValidationException ex)
{
StringBuilder errors = new StringBuilder();
IEnumerable<DbEntityValidationResult> validationResult = ex.EntityValidationErrors;
foreach (DbEntityValidationResult result in validationResult)
{
ICollection<DbValidationError> validationError = result.ValidationErrors;
foreach (DbValidationError err in validationError)
{
errors.Append(err.PropertyName + ":" + err.ErrorMessage + "\r\n");
}
}
Console.WriteLine(errors.ToString());
}

原文地址:https://www.cnblogs.com/LiHeQ/p/8657553.html

时间: 2024-11-01 21:02:22

EF提交插入数据catch捕获具体异常方法的相关文章

EF批量插入数据(Z.EntityFramework.Extensions)

EF用原生的插入数据方法DbSet.ADD()和 DbSet.AddRange()都很慢.所以要做大型的批量插入只能另选它法. 1.Nugget 2.代码 using EF6._0Test.EF; using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; namespace EF6._0Test { class Program { static void Main(st

如何创建一个可以使用try.....catch.......捕获的异常

代码很简单,大家一看基本上就能明白(有一定的java基础,熟悉try......catch.....finally的使用方法) 1 package com.nokia.test1; 2 3 4 public class test { 5 6 7 public static void main(String[] args) { 8 9 NumberTest n = new NumberTest(); 10 11 //捕获异常 12 try{ 13 System.out.println("商=&qu

C# mysql 插入数据,中文乱码的解决方法

用C#操作mysql时, 插入数据中文都是乱码,只显示问号,数据库本身使用的是utf-8字符 有两种解决办法: 一种是在执行语句前面设置,如: 1 MySQLCommand mCommand = new MySQLCommand("set names gb2312", m_Connection); 另一种是直接加在连接字符串里,如: 1 <add name="connection" connectionString="server=127.0.0.1

EF批量插入数据缓慢解决方法

在VS中新建EF之后,右键解决方案下的引用, 选择管理NuGet程序包,搜索Z.EntityFramework.Extensions并安装. 在IRepository中加入方法 在 Repository进行实现 1 public virtual void BulkInsert(IEnumerable<TEntity> entities) 2 { 3 using (var transaction = db.Database.BeginTransaction()) 4 { 5 try 6 { 7

JDBC批量插入数据优化,使用addBatch和executeBatch

>>.在之前的玩转JDBC打造数据库操作万能工具类JDBCUtil,加入了高效的数据库连接池,利用了参数绑定有效防止SQL注入中其实忽略了一点,那就是SQL的批量插入的问题,如果来个for循环,执行上万次,肯定会很慢,那么,如何去优化呢? https://www.awaimai.com/841.html 一.用 preparedStatement.addBatch()配合preparedStatement.executeBatch()去批量插入 1 /** 2 * 执行数据库插入操作 4 *

JDBC向数据库中插入数据

新建数据库,并插入相关数据. 1 create database bbs; 2 3 use bbs; 4 5 create table article 6 ( 7 id int primary key auto_increment, 8 pid int, 9 rootid int, 10 title varchar(255), 11 cont text, 12 pdate datetime, 13 isleaf int 14 ); 15 16 insert into article values

Android批量插入数据到SQLite数据库

Android中在sqlite插入数据的时候默认一条语句就是一个事务,因此如果存在上万条数据插入的话,那就需要执行上万次插入操作,操作速度可想而知.因此在Android中插入数据时,使用批量插入的方式可以大大提高插入速度. 有时需要把一些数据内置到应用中,常用的有以下2种方式:其一直接拷贝制作好的SQLite数据库文件,其二是使用系统提供的数据库,然后把数据批量插入.我更倾向于使用第二种方式:使用系统创建的数据库,然后批量插入数据.批量插入数据也有很多方法,那么那种方法更快呢,下面通过一个dem

Android捕获崩溃异常

开发中最让人头疼的是应用突然爆炸,然后跳回到桌面.而且我们常常不知道这种状况会何时出现,在应用调试阶段还好,还可以通过调试工具的日志查看错误出现在哪里.但平时使用的时候给你闹崩溃,那你就欲哭无泪了. 那么今天主要讲一下如何去捕捉系统出现的Unchecked异常.何为Unchecked异常呢,换句话说就是指非受检异常,它不能用try-catch来显示捕捉. 我们先从Exception讲起.Exception分为两类:一种是CheckedException,一种是UncheckedException

第18课-数据库开发及ado.net 连接数据库.增.删.改向表中插入数据并且返回自动编号.SQLDataReade读取数据

第18课-数据库开发及ado.net 连接数据库.增.删.改向表中插入数据并且返回自动编号.SQLDataReade读取数据 ADO.NET 为什么要学习? 我们要搭建一个平台(Web/Winform)让用户方便的操作数据库中的数据. 什么是ADO.NET 是一组库类,System.Data. Ado.net组成 Connection:用来连接数据库 Command:用来执行SQL语句 DataReader:只读.只进的结果集,一条一条读取数据(SteamReader.XmlReader) Da