老马

老马 查看完整档案

填写现居城市  |  填写毕业院校  |  填写所在公司/组织填写个人主网站
编辑
_ | |__ _ _ __ _ | '_ \| | | |/ _` | | |_) | |_| | (_| | |_.__/ \__,_|\__, | |___/ 个人简介什么都没有

个人动态

老马 关注了问题 · 2017-01-04

EF 里面如何先查询后修改元素?

     var entry = _context.Entry<MeasureDev>(dev);
        entry.State = EntityState.Modified;
        _context.SaveChanges();
        

通常上面的代码就可以编辑数据了.但现在我的情况是需要先找到它,验证某些条件再保存:

var v = _context.devs.Single(p => p.devid == dev.devid);
      ....    
      

但这样数据库保存就报错了,请问如何先查询后保存呢?(我不想属性对拷,验证完成后就存dev而不要v了).

关注 3 回答 2

老马 回答了问题 · 2017-01-04

EF 里面如何先查询后修改元素?

var v = _context.devs.Single(p => p.devid == dev.devid);
v.xxx = "newXxx";
_context.SaveChanges();
// 这么写没问题,
// 如果你报错,最好捕获异常信息看看是什么问题,通常情况下这么写就可以了。

关注 3 回答 2

老马 关注了问题 · 2017-01-04

autofac实现热注册思路

项目上线后一些接口可能功能不稳定,或者需要动态的增加一些内容,
如果使用Autofac,能不能实现不重启应用只更改配置文件,组件自动注册到Container中,有好的思路吗?

关注 3 回答 2

老马 回答了问题 · 2017-01-04

autofac实现热注册思路

当需要增加内容的时候,将新版本的 DLL Copy 到指定的文件夹中,再去更改配置文件指向,比如:原有配置文件中配置为 V1.dll ,新的 dll 为 V2.dll ,将原来的 V1 改为 V2,当配置文件发生变化时,尝试加载新的 V2 ,
道理是这样,但做起来还是有一定难度的,而且可能会有性能问题。

关注 3 回答 2

老马 关注了问题 · 2017-01-04

mysql 中 实现字段值为BOX001,BOX002.... 每插入一条数据数字部分自增

mysql 中 实现字段值为BOX001,BOX002.... 每插入一条数据数字部分自增

关注 6 回答 5

老马 回答了问题 · 2017-01-04

mysql 中 实现字段值为BOX001,BOX002.... 每插入一条数据数字部分自增

在如果不考虑跳号的情况下,最简单的办法就是创建两个字段,一个字段保存 BOX,一个字段为自增量,两个字段做为
通常这种编码是要显示出来的,因此在写程序的时候,只需要简单的拼接和格式化即可。
如果有复杂的逻辑校验和更高的要求,建议写在业务逻辑层。

关注 6 回答 5

老马 关注了问题 · 2017-01-04

解决sqlserver中排序字段用datetime和bigint的13位时间戳,哪个性能会更好一些

sql server中, 数据表中想按照时间来排序,或以时间为条件进行提取数据,表中的时间列是用datetime类型,还是用时间戳来表示,哪样提取的速度可以更快,

时间戳这里有个问题,有10位和13位时间戳,13位有毫秒,精度要高一些,datetime也是可以记到毫秒,
但是13位就必须要用到bigint,和datetime都是8字节,如果用10位时间戳,int就够了,所以bigint和int的类型不同,是不是也会对这个排序提取的性能有影响,

我是希望使用13位的时间戳,精度高,在用时间戳做分页的时候,降低同一秒出现2条记录的概率,这样是用bigint还是用datetime,哪个性能更好呢

关注 3 回答 2

老马 回答了问题 · 2017-01-04

解决sqlserver中排序字段用datetime和bigint的13位时间戳,哪个性能会更好一些

从你的描述来看,与时间无关,本质上是按照插入顺序提取数据。因此,在不考虑数据迁移的问题的前提下,建议使用 BIGINT 自增量,这样保证你排序的时候是按照插入顺序排序的,不会出现同一秒有相同时间戳的情况。
另外,当数据低于 1000 万的时候,在 SQL Server 里面同等条件下 BIGINT 和 DateTime 从性能上和用户体验上来说真的没有太大的区别,从根本上说性能取决于你的程序怎么写。
如果我是你,我会创建一个 BIGINT 字段用于分页,DATETIME 字段记录当前时间用于显示。从职能上把两个字段划分开,各司其职。

关注 3 回答 2

认证与成就

  • 获得 1 次点赞
  • 获得 1 枚徽章 获得 0 枚金徽章, 获得 0 枚银徽章, 获得 1 枚铜徽章

擅长技能
编辑

(゚∀゚ )
暂时没有

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 2017-01-04
个人主页被 152 人浏览