ef 增加或者更新的习惯思维】的更多相关文章

JavaScript日历控件开发   概述 在开篇之前,先附上日历的代码地址和演示地址,代码是本文要分析的代码,演示效果是本文要实现的效果代码地址:https://github.com/aspwebchh/javascript-control/tree/master/calendar演示地址: https://www.chhblog.com/html/demo/calendar.html 本文的目的除了详细说明开发一款具备基本功能的网页日历的方法与细节以外,还附加说明了如何合理的组织日历特效的代…
首先申明是我的习惯思维,经常这样写: 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(); 一直觉得别扭,但似乎也没什么好的办法. 习惯思维就是首…
在使用EF Code First更新数据库时报如下错误: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误.未找到或无法访问服务器.请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接. (provider: SQL Network Interfaces, error: 26 - 定位指定的服务器/实例时出错) 以为是Sql Server的配置问题,作如下尝试: →打开Sql Server配置管理器,即"Sql Server Configuraiotn…
JDBC增加.更新.删除数据 st.executeUpdate(sql) 进行插入.更新.删除操作返回的是受影响的记录的条数 注意:输入的sql语句中,vachar类型记住加单引号 完整代码如下: public class JDBCTest { //建立连接 public static Connection getConnection(){ Connection conn=null; try { Class.forName("com.mysql.cj.jdbc.Driver").new…
某个项目里的update代码是类似这样的 public T Update<T>(T entity) where T : ModelBase { var set = this.Set<T>(); set.Attach(entity); this.Entry<T>(entity).State = EntityState.Modified; this.SaveChanges(); return entity; } 当运行的时候EF在UPDATE的时候会自动更新所有字段,这样就…
1.null---表示空值或者该字段不存在,如{"name":null} 2.布尔 --- 和java中的布尔一样,有两种:true,false,如{"sex":true} 3.浮点数---shell中所有的数字都是浮点数,如{"age":12},{"money":2333.65}. 4.字符串---和java中的差不多,在mongodb都是utf-8字符集的,如{"username":"zang…
本篇文章将会剖析为什么会出现这一现象.以及解决的办法 先来看一下代码 public static TResult AddTest() { TestDAL testdal = DALFactory.CreateDAL<TestDAL>(); TResult t; Transaction.BeginTransaction(); try { testdal.Insert( }); testdal.ExecuteSqlCommand("update test set name='111' w…
在PPT的右下角增加页数的显示能够帮助演讲者把握进度,所以会经常遇到需要把页数显示在右下角的情况,这次在制作ppt的时候也遇到了.因此在这里总结一下设置方法. 一.在右下角显示当前页数和总页数 1)获得当前PPT的总页数.具体地,在ppt的左下角,可以看到ppt的当前页和总页数. 2)点击视图->幻灯片母版,打开幻灯片母版 3)在幻灯片母版中,在母版和所有版式中将“‹#›"修改为“‹#›/3”,并关闭母版视图 4)在插入->幻灯片编号中选中幻灯片编号 二.更新右下角的页数显示 1)同…
不知道这算不算一个bug,当你新建一个从数据库生成的edmx时,他能正确的生成所有的tt文件,但是当你从数据库更新表结构时,他不能正确的更新tt文件,以建立Model1.edmx为例,在解决方案中展开Model1.edmx, 右键Model1.Context.tt,然后点击运行自定义工具. 然后再右键Model1.tt,也点击运行自定义工.经过这两步,就会跟据edmx结构正确的生成文件了 还有种办法,执行以上第1步,第2步改为删除Model1.tt,在edmx设计器中右键-->添加代码生成项,选…
摘自:http://www.cnblogs.com/xray2005/archive/2009/05/17/1458568.html 本节,直接写通过代码来学习.这些基本操作都比较简单,与这些基本操作相关的内容在之前的1至6节基本介绍完毕. l           增加: 方法1:使用AddToXXX(xxx)方法:实例代码如下: using (var edm = new NorthwindEntities()) { Customers c = new Customers { CustomerI…
1.EF Code First创建数据库 新建控制台应用程序Portal,通过程序包管理器控制台添加EntityFramework. 在程序包管理器控制台中执行以下语句,安装EntityFramework. PM> Install-Package EntityFramework 安装成功后,界面提示如下图:   在新建的Portal控制台应用程序中添加两个实体类,代码结构如下: 其中,类文件PortalContext.cs的代码如下: using System; using System.Col…
1. 增加字段说明 EXEC sp_addextendedproperty     'MS_Description',     'some description',     'user',      dbo,     'table',      table_name,     'column',      column_name   Some Description , 是要增加的说明内容 table_name, 是表名 column_name , 是字段名   2. 增加表的说明 EXEC…
本节,直接写通过代码来学习.这些基本操作都比较简单,与这些基本操作相关的内容在之前的1至6节基本介绍完毕. l           增加: 方法1:使用AddToXXX(xxx)方法:实例代码如下: using (var edm = new NorthwindEntities()) { Customers c = new Customers { CustomerID = "c#", City = "成都市", Address = "中国四川省",…
EF Core 迁移 感觉就是以前EF Code First的自动同步数据库功能 内容:在你新增.更新TableModel后,如何自动化的更新DB中的真实Table.以及对这些更改进行一个版本控制. 本文将以一个示例进行简单明了的演示输出.(不会很详细,只记录主要步骤) 当下我们已经有了一个ASP.NET Core的web应用程序,本文我们所关心的只有2个: 1.Model 2.DB Table 当下: Model 最后一个为导航属性,无视. Table 现在我们要在Model/Student.…
转载请注明出处:http://www.cnblogs.com/zhiyong-ITNote/ 一直不习惯linq的扩展方法,每次用的时候,贼不顺手,尤其是查数据的时候,这不更新个数据库这么简单地需求都搞了一个小时(好吧,也有心不在焉的因素).总结了一下,代码如下: private readonly PracticeDevDbContext _context; public DefaultController(PracticeDevDbContext context) { _context = c…
引言 EF是相对与Dapper.NHibernate官方首推的ORM框架,其在开发过程中的方便,快捷毋庸置疑的,但由于EF本身的一些缓存机制.跟踪机制,所以在使用时有些地方需要特别注意. 下面我将自己在项目中的总结的一些经验 分享出来,希望能帮助大家正确的使用EF. 正文 1. 插入数据 不建议的做法: dbcontext.entity.Add(_entity); dbcontext.SaveChanges(); 正确的做法: dbcontext.Entry<TEntity>(entity).…
实体类 public class TestDbContext : DbContext { public DbSet<Test> Tests { get; set; } public TestDbContext() : base() { } } public class Test { public long ID { get; set; } public string Name { get; set; } public string Email { get; set; } public stri…
之前遇到只更新部分的问题:如前端修改用户信息(不修改密码),传实体到后台,这个实体是没有密码,这样一来要更新的话,得先去数据库通过传过来的实体的ID读取这条记录,然后将改动的部分填到查出来的记录中,再更新回去. 逻辑是对的,但是用EF,会有个问题,查出来后是默认缓存在entity这个上下文(dbcontent)中的,所以直接更新会报错,于是我就想办法查询的时候不缓存到上下文中,Asnotracking,先记录下,迟点整理,单词乱拼的,这个解决问题了. 但是,这样一来又会出现效率的降低,本来已经缓…
公司封装框架的人把eF封在了工作单元里面,使用了Unitofwork这样的形式, 我用代码生成器生成了基础的单表操作的代码. 这种方式对多表有问题. 暂时只得,一张表一张表地操作, 我采用先用List<Int>存所有id的方式. 然后再对比,存储的更新,不存在的添加,最后删除掉原来有现在没有的Id的方式 .前端开发,渐渐开始使用require方法 ,这样单个页面模块不需要再添加多余的js代码,但是还是部分写在页面里比较好,比如触发的事件. ef.mvc,这些方式还算可以…
/// <summary> /// 增加一条数据 /// </summary> public int Add(string 表名,string 参数,string 参数值) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into "); strSql.Append(表名); strSql.Append("("); strSql.Append(参数); s…
摘要 解决前期数据库优先添加的实体,然后数据库表结构发生变化后,导致代码操作EF插入更新数据失败问题 EF 数据库更新模型 相比大家在使用实体操作数据库的时候,都是采取数据库优先,手动添加实体模型.但是随着后期需求的更改和变化,数据库的结构都会有很大的变化.比如主键缺少和改变,字段的删减.都会导致EF操作失败.很多人都是采用直接将整个.edmx文件删除掉,然后重新加载.这样做太麻烦了.下面介绍更新模型的正确姿势. 步骤一.双击.edmx文件,会出现所有模型的视图 点击空白处,右键,选择:从数据库…
错误提示:The database operation was expected to affect 1 row(s), but actually affected 0 row(s); data may have been modified or deleted since entities were loaded. See http://go.microsoft.com/fwlink/?LinkId=527962 for information on understanding and han…
实体映射关系如下,SISTUser和SISTUserRoles存在多对多的关系,生成中间表 public partial class SISTUserMap: EntityTypeConfiguration<SISTUser> { public SISTUserMap() { this.ToTable("SISTUser"); this.HasKey(u => u.Id); this.Property(u => u.Id).HasColumnName("…
在Yii的开发中常常需要去使用Yii的增删改查方法,这些方法又可以多次变化和组合,带来全方位的实现对数据库的处理,下面对这些方法做一些简单的整理和梳理,有遗漏或是BUG,敬请指出.灰常感谢!!! 一.查询数据集合 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 //1.该方法是根据一个条件查询一个集合 $admin=Admin::model()->findAll($condition,$params); $admin=Admin::model()->f…
错误如图: 修改下方法后可以进行更新了.但是中间多了一步查询 /// <summary> /// 更新一个产品分类 /// </summary> /// <param name="model"></param> /// <returns></returns> public bool UpdateBindClass(DataDicContent model) { var entry = DBENT.Entry(mod…
首先在mapper下面新建一个mysql.xml mysql.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace…
一般的更新代码是这样的 public T Update<T>(T entity) where T : ModelBase { var set = this.Set<T>(); set.Attach(entity); this.Entry<T>(entity).State = EntityState.Modified; this.SaveChanges(); return entity; } 但是有时候有更新的时候,如果为null则不更新这字段,这个时候就会有问题了,这个…
var lastBaby = await _babyRepository.FirstOrDefaultAsync(); ++lastBaby.sort; -- sort原本为1 -- 最终会生成一条语句更新sort字段 exec sp_executesql N'SET NOCOUNT ON;UPDATE [Babies] SET [BirthOrder] = @p0, [LastModificationTime] = @p1WHERE [Id] = @p2;SELECT @@ROWCOUNT;…
不更新 _pocDbContext.Entry<UploadFileActiveTask>(activeTask).Property("id").IsModified = false; 更新 _pocDbContext.Entry(uploadFileActiveTask).CurrentValues.SetValues(activeTask);…
报这个错误是因为表没有设置主键,设完主键后再重新更新Entity,就可以添加了…