.net entity framework 泛型 更新与增加记录
static public bool SaveOrUpdate<T>(T entity) where T: class
{
bool result = false;
using (wechatEntities context = new wechatEntities())
{
Type t = entity.GetType();
PropertyInfo[] properts = t.GetProperties();
PropertyInfo p = t.GetProperty("Id");
if (p == null)
p = t.GetProperty("id");
if (p == null)
p = t.GetProperty("ID");
if (p == null)
{
return result;
}
var id = Convert.ToInt32(p.GetValue(entity,null)); if (id == )
{
context.Set(entity.GetType()).Add(entity);
}
else
{
context.Entry(entity).State = System.Data.EntityState.Modified;
}
result = true;
context.SaveChanges();
}
return result;
}
.net entity framework 泛型 更新与增加记录的更多相关文章
- 浅析Entity Framework Core2.0的日志记录与动态查询条件
前言 Entity Framework Core 2.0更新也已经有一段时间了,园子里也有不少的文章.. 本文主要是浅析一下Entity Framework Core2.0的日志记录与动态查询条件 去 ...
- Entity Framework泛型封装
Entity Framework本身的增删改查其实 已经很方便了,不过做项目的时候用的多了也就觉得有点累了,每个业务实体基本上都涉及到到了增删改查这四个基本的要素,至于封装每个公司可能都不一样,接口, ...
- Entity Framework 泛型使用
因为增删改查是我们常用到的方法,我们不可能每个数据模型都去完成增删改查,这样的办法太笨拙了.我们可以写个父类(包含增删改查),然后让所有的数据模型类继承该父类.那就要求我们的父类必须使用泛型来实现. ...
- Entity Framework入门教程(17)---记录和拦截数据库命令
记录和拦截数据库命令 这一节介绍EF6怎么记录和拦截发送给数据库的查询和操作命令. 1.记录EF发送给数据库命令(DbContext.Database.Log) 以前给了查看EF发送给数据库的命令我们 ...
- entity framework 5 更新指定字段
dbSet.Attach(good); var stateEntry = ((IObjectContextAdapter)context).ObjectContext. ObjectStateMana ...
- 请问在 .NET Core 中如何让 Entity Framework Core 在日志中记录由 LINQ 生成的SQL语句?
using dotNET.Core; using Microsoft.Extensions.Logging; using System; using System.Collections.Generi ...
- Asp.Net MVC 模型(使用Entity Framework创建模型类) - Part.1
这篇教程的目的是解释在创建ASP.NET MVC应用程序时,如何使用Microsoft Entity Framework来创建数据访问类.这篇教程假设你事先对Microsoft Entity Fram ...
- Asp.Net MVC 模型(使用Entity Framework创建模型类)
这篇教程的目的是解释在创建ASP.NET MVC应用程序时,如何使用Microsoft Entity Framework来创建数据访问类.这篇教程假设你事先对Microsoft Entity Fram ...
- MVC5 Entity Framework学习之实现主要的CRUD功能
在上一篇文章中,我们使用Entity Framework 和SQL Server LocalDB创建了一个MVC应用程序,并使用它来存储和显示数据.在这篇文章中,你将对由 MVC框架自己主动创建的CR ...
随机推荐
- Python 基础【第十篇】内置类型
一.integral 类型 Python提供了两种integral类型,即int(整数)与bool(布尔值). 1.1.整数 整数的相关运算符.函数.数据类型转换 1.1.1.整数的运算符 前面已经讲 ...
- innodb对update的处理
当更新非聚集索引上记录 和 聚集索引上的主键时,是标记删除,然后插入新的记录 当更新聚集索引上的非主键列时,是updated-in-place,也就是说原地修改,不会插入新记录. 之前一直以为都是以标 ...
- gVim多标签页
我们一般使用的文本编辑器,如:editplus.ultraEdit等都是支持多标签页的,可以同时打开多个文件,方便切换,以前gVim只能打开多个窗口,或者一个窗口切出多个窗口来编辑,自从7.0以后Vi ...
- highcharts 去掉右下角链接
去掉右下角的highcharts.com链接需要加入以下代码: credits: { enabled:false }, 如果不设置,那么默认为显示.
- scala学习笔记:理解lazy值
scala> var counter = 0 counter: Int = 0 scala> def foo = {counter += 1; counter} foo: Int scal ...
- 3 WPF之从0开始学习XMAL
转载:http://blog.csdn.net/fwj380891124/article/details/8088233 剖析最简单的XMAL代码: <Window x:Class=&quo ...
- Android开发常见问题及解决方法
http://blog.csdn.net/silangquan/article/details/8104414
- win2008远程桌面卡顿和上传慢的解决方法
ibm服务器安装win2008server系统,发现远程桌面登陆特别卡,上传也慢的要死.下载没问题,这样初步判断网络没有问题. 打开注册表(regedit)找到: (1)打开HKEY_LOCAL_MA ...
- Linux下chkconfig命令详解即添加服务以及两种方式启动关闭系统服务
The command chkconfig is no longer available in Ubuntu.The equivalent command to chkconfig is update ...
- java星座、年龄、日期等
星座: public static String getStar(Date date) { Calendar cal = Calendar.getInstance(); cal.setTime(dat ...