ef 增加或者更新的习惯思维
首先申明是我的习惯思维,经常这样写:
var item=db.tableName.FirstOrDefault(ii=>....);
if(item==null)
{
item=new ...;
item.columnA=...;
item.columnB=...;
db.tableName.Add(item);
}
else
{
item.columnA=...;
item.columnB=...;
}
db.SaveChanges();
一直觉得别扭,但似乎也没什么好的办法。
习惯思维就是首先要把item设置好,才能Add。
今天灵光一闪,试了试先Add然后再去设置item,居然ok,哈哈,so
var item=db.tableName.FirstOrDefault(ii=>....);
if(item==null)
{
item=new ...;
db.tableName.Add(item);
}
item.columnA=...;
item.columnB=...;
db.SaveChanges();
顺眼多了,您觉得呢?
ef 增加或者更新的习惯思维的更多相关文章
- JavaScript日历控件开发 C# 读取 appconfig文件配置数据库连接字符串,和配置文件 List<T>.ForEach 调用异步方法的意外 ef 增加或者更新的习惯思维 asp.net core导入excel 一个二级联动
JavaScript日历控件开发 概述 在开篇之前,先附上日历的代码地址和演示地址,代码是本文要分析的代码,演示效果是本文要实现的效果代码地址:https://github.com/aspwebc ...
- EF Code First更新数据库时报错:provider: SQL Network Interfaces, error: 26
在使用EF Code First更新数据库时报如下错误: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误.未找到或无法访问服务器.请验证实例名称是否正确并且 SQL Serv ...
- JDBC增加、更新、删除数据
JDBC增加.更新.删除数据 st.executeUpdate(sql) 进行插入.更新.删除操作返回的是受影响的记录的条数 注意:输入的sql语句中,vachar类型记住加单引号 完整代码如下: p ...
- EF部分字段更新,自动忽略null字段
某个项目里的update代码是类似这样的 public T Update<T>(T entity) where T : ModelBase { var set = this.Set< ...
- Mongodb基本数据类型、常用命令之增加、更新、删除
1.null---表示空值或者该字段不存在,如{"name":null} 2.布尔 --- 和java中的布尔一样,有两种:true,false,如{"sex" ...
- EF之ExecuteSqlCommand更新出现无效的解决方案
本篇文章将会剖析为什么会出现这一现象.以及解决的办法 先来看一下代码 public static TResult AddTest() { TestDAL testdal = DALFactory.Cr ...
- PPT文档页数显示的增加和更新
在PPT的右下角增加页数的显示能够帮助演讲者把握进度,所以会经常遇到需要把页数显示在右下角的情况,这次在制作ppt的时候也遇到了.因此在这里总结一下设置方法. 一.在右下角显示当前页数和总页数 1)获 ...
- EF没有同步更新(转)
不知道这算不算一个bug,当你新建一个从数据库生成的edmx时,他能正确的生成所有的tt文件,但是当你从数据库更新表结构时,他不能正确的更新tt文件,以建立Model1.edmx为例,在解决方案中展开 ...
- Entity Framework 学习初级篇--基本操作:增加、更新、删除、事务(转)
摘自:http://www.cnblogs.com/xray2005/archive/2009/05/17/1458568.html 本节,直接写通过代码来学习.这些基本操作都比较简单,与这些基本操作 ...
随机推荐
- C# 在类中使用Timer定时器以及延时处理的方法
我们平时在C#中要用到定时功能时,有自带定时器,一般在定时器里面写函数就行了,现在需要在类里面写了一个定时器,不和界面绑定,一开始的时候感觉没什么思路,然后看了一下界面的设计代码,有了思路,还是很简单 ...
- vim编辑器-多行加注释与去注释
在使用vim编辑器时,有时候需要对多行代码进行加注释或去注释,下面将介绍两种方法. 方法一:块选择模式 1. 插入注释 (1)首先按键盘上的ESC进入命令行模式 (2)再按Ctrl+V进入VISUAL ...
- c#数据库事务锁类型
一.脏读.不可重复读.幻象读的区别 1.脏读:包含未提交数据的读取.例如,事务 a 更改了某行(数据库已发生更改,但尚未提交,有可能发生回滚),事务 b 在事务 a 提交更改之前读取已更改的行.如 ...
- 自定义 Cordova插件详解
一.Cordova的基础点 在混合式应用中,我们通过现有的Cordova插件,可以轻松的在 H5 上调用手机native的功能.现有的Cordova插件能满足平时大部分的开发需求,然而,有时候找不到合 ...
- h5视频播放
h5视频播放 一直在写js原生的东西,感觉总是停滞不前,现在我们应该学一些h5新的特性,因为我们毕竟是从事前端的,下面我们一起来写一个视频播放吧 1,html <div class=" ...
- (3)arp协议
arp协议:通过ip找mac(交换机不能识别ip) arp解析表: mac 和 ip 的映射关系 arp协议: 通过ip找到mac,可以减少广播的频率,减少主机的损耗. arp协议: 能够完成,依靠交 ...
- 20190321xlVBA_汇总表按模板生成明细表
Public Sub 汇总表转信息表() '日期 '作者 Next 'QQ 84857038 Dim Wb, Sht, msht, NewSht, rng Set Wb = Application.T ...
- 你所误解的微信公众号开发、以及微信公众号网页授权、接收url跳转参数等问题
前言:有一星期没跟新博客了,最近太忙.项目赶进度就没把时间花在博客上:今天来说说所谓的微信公众号开发和填坑记录: 微信公众号:运行在微信终端的应用 (对于开发者来说比较爽的你只需考虑兼容微信浏览器,因 ...
- 探索 | “中医+AI”会诊电力设备故障
在 AlphaGo 成功挑战围棋世界冠军后,人工智能(AI)“深度学习”家喻户晓.电力企业有机会着眼自身战略,利用落地的 AI 技术和应用聚焦业务流程优化.效率提升以及对全新机遇的发掘.本文针对设备故 ...
- Ceres Solver 入门稍微多一点
其实ceres solver用了挺多的,可能是入门不精,有时候感觉感觉不理解代码上是怎么实现的,这次就通过ceres的官网仔细看了一些介绍,感觉对cpp了解更好了一些. 跟g2o的比较的话,感觉cer ...