DbSet.AddRange & DbSet.RemoveRange: DbSet in EF 6 has introduced new methods AddRange & RemoveRange. DbSet.AddRange adds collection(IEnumerable) of entities to the DbContext, so you don't have to add each entity individually. IList<Student>…
原文:http://www.entityframeworktutorial.net/entityframework6/addrange-removerange.aspx EF 6中的DbSet引入了新的方法AddRange&RemoveRange. DbSet.AddRange将实体的集合(IEnumerable)添加到DbContext,不必单独添加每个实体. IList<Student> newStudents = new List<Student>(); newStu…
原文:Android零基础入门第42节:自定义BaseAdapter 在ListView的使用中,有时候还需要在里面加入按钮等控件,实现单独的操作.也就是说,这个ListView不再只是展示数据,也不仅仅是这一行要来处理用户的操作,而是里面的控件要获得用户的焦点.读者可以试试用SimpleAdapter添加一个按钮到ListView的条目中,会发现可以添加,但是却无法获得焦点,点击操作被ListView的Item所覆盖.这时候最方便的方法就是使用灵活的适配器BaseAdapter了. 一.使用B…
Java介绍 Java是一门面向对象的程序设计的编程语言,在1995年,sun公司发布了Java这门编程语言,有咖啡的名称,是当时灵机一动的想法.在2010年的时候被Oracle公司收购了,目前jdk的版本是java10了. 那么什么是jdk呢?学习java必须要有jdk,那么我们现在去下载吧!根据下方给的自己就可以找到了. 下载地址 下载jdk,和eclipse就比较简单了,提供JDK 9 地址: http://www.oracle.com/technetwork/java/javase/do…
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 一.引言 输入部件量比较多,且功能很丰富,但除了用于编写编辑器.浏览器之类的工具外,平时用的机会也不多,更关键的是复杂的功能如果要了解得很细致,需要耗费大量的时间和精力.因此对这些部件的研究老猿仅限于这些部件本身,不进一步扩展到其相关的类. 本章节主要介绍QFontComboBox.QLineEdit.QTextEdit.QPlainText的功能.属性和方法,相关部…
以后的架构思考方向: 体系结构的演变…
在博客园很久了,一直只看不说,这是发布本人的第一个博客. 总结一下在项目中,EntityFramework使用的一下经验拿来和大家分享,希望对大家有用~ 1.         在Entity Framework中使用事务 1) TransactionScope using (BlogDbContext context =new BlogDbContext()) { using (TransactionScope transaction =new TransactionScope()) { con…
现在EF越来越流行了,很多时候业务成都是直接访问DbContext 和DbSet来操作数据的. 那么我们测试的时候如何来mock这2个对象了?现在时间很晚了, 就直接贴code吧 首先看看的我们DbContext的类吧: public class BloggerEntities : DbContext { public BloggerEntities() : base("BloggerEntities") { Configuration.ProxyCreationEnabled = f…
最近在做一个项目的单元测试时,遇到了些问题,解决后,觉得有必要记下来,并分享给需要的人,先简单说一下项目技术框架背景: asp.net core 2.0(for .net core)框架 用Entity Framework Core作ORM XUnit作单元测试 Moq作隔离框加 在对业务层进行单元测试时,因为业务层调用到数据处理层,所以要用Moq去模拟DbContext,这个很容易做到,但如果操作DbContext下的DbSet和DbSet下的扩展方法时,就会抛出一个System.NotSup…
DBSet Class DBSet class represents an entity set that is used for create, read, update, and delete operations. A generic version of DBSet (DbSet<TEntity>) can be used when the type of entity is not known at build time. You can get the reference of D…
1.项目背景 这里简单介绍一下项目需求背景,之前公司的项目基于EF++Repository+UnitOfWork的框架设计的,其中涉及到的技术有RabbitMq消息队列,Autofac依赖注入等常用的.net插件.由于公司的发展,业务不断更新,变得复杂起来,对于数据的实时性.存储容量要求也提高了一个新的高度.数据库上下文DbContext设计的是单例模式,基本上告别了多线程高并发的数据读写能力,看了园子里很多大神的博客,均为找到适合自己当前需求的DbContext的管理方式.总结目前主要的管理方…
1.项目背景 这里简单介绍一下项目需求背景,之前公司的项目基于EF++Repository+UnitOfWork的框架设计的,其中涉及到的技术有RabbitMq消息队列,Autofac依赖注入等常用的.net插件.由于公司的发展,业务不断更新,变得复杂起来,对于数据的实时性.存储容量要求也提高了一个新的高度.数据库上下文DbContext设计的是单例模式,基本上告别了多线程高并发的数据读写能力,看了园子里很多大神的博客,均为找到适合自己当前需求的DbContext的管理方式.总结目前主要的管理方…
EF6.0相对于5.0新加了很多功能.先看看两个模式的一些特点. 数据库优先(设计者)和代码优先两者的特点: 连接弹性 异步查询和保存 基于代码的配置 数据库命令记录 数据库命令截取 依赖决议 DbSet.AddRange / RemoveRange 更好的交易支持 可插拔的多元化和单一化服务 可测试性改进 用打开的连接创建上下文 提高性能和预热时间 Code-First的特点: 自定义约定 插入,更新和删除实体CUD操作的存储过程 索引属性(EF 6.1) 每个数据库多上下文 嵌套的实体类型…
直奔主题了,不那么啰嗦. 整体框架的参考来源是  O# 的框架,在此感谢锋哥一直以来的开源,让我们有的学 如下图: (图一) 一下分三个步骤说明,分别为 dbContext,repository,uow三点 在说之前,先说下O# 因为最近发现还有人在问,其实很好理解,简要说下理解步骤(O#的整体框架和上面的截图类似->_->我就是仿照的o#搭建的好不好) 如果对respository+uow熟练的人 ,一下就能看懂,O#里面 可以这么去理解(学习或阅读步骤,) (图二) 按照步骤1234,一次…
本篇原文链接:Advanced Entity Framework Scenarios 本篇主要讲一些使用Code First建立ASP.NET WEB应用的时候除了基础的方式以外的一些扩展方式方法: 1.Performing Raw SQL Queries (执行真正的SQL语句) 2.Performing no-tracking queries (执行无跟踪的SQL语句) 3.Examining SQL sent to the database (检查发到数据库的SQL语句) Performi…
系列目录 建立好42节的表之后,每个字段英文表示都是有意义的说明.先建立,就知道表的关系和用处了,当然,我的设计只是一个参考,你可能有很多改进的地方. 我们的工作流具体细节流程是这样的: 最终我们的模块也是这样的,最后理想也是这样的.现在从表单设计入手一步一步来. 今天解决分类管理,字段管理 准备开始 1.同样启用代码生成器生成最基础的源码.把表和目录都创建起来,每一个类都是对应每一个表. 2.在App.Admin---->Areas---->创建Flow文件夹 3.修改路由规则 using…
本课程专注于构建:高可扩展性.高性能.大数据量.高并发.分布式的系统架构. 从零开始.全面系统.成体系的软件架构课程,循序渐进的讲述构建上述系统架构所需要的各种技术知识和技能. 适应人群: 1:有一定工作经验,还未从事架构工作,但想要向架构方面发展的朋友2:已经开始从事架构工作,但想要系统学习提升的朋友3:了解一些架构的知识,但是一直停留在理论上,不会实际操作,也无法让这些理论知识落地的朋友4:有一定开发经验,想要系统学习架构方面的知识,扩展知识面和提升开发能力的朋友 技术要点: 1:构建基本的…
原文:Android零基础入门第58节:数值选择器NumberPicker 上一期学习了日期选择器DatePicker和时间选择器TimePicker,是不是感觉非常简单,本期继续来学习数值选择器NumberPicker . 一.NumberPicker概述 NumberPicker 是用于选择一组预定义好数字的组件,用户既可以通过键盘输入数值,也可以通过滚动来选择数值. NumberPicker的常用方法如下: setMinValue(int minVal):设置该组件支持的最小值. setM…
原文:Android零基础入门第59节:AnalogClock.DigitalClock和TextClock时钟组件 在前面一期,我们学习了DatePicker和TimePicker,在实际开发中其不能完全满足我们对时间和日期的处理. 如果只是想要显示时间,而不需要用户修改,就可以使用DigitalClock和AnalogClock时钟组件,这2个组件非常有用,使用起来也非常简单,其值可以随时间自动更新. 一.AnalogClock 首先来一起学习AnalogClock组件.AnalogCloc…
原文:Android零基础入门第57节:日期选择器DatePicker和时间选择器TimePicker 在实际开发中,经常会遇见一些时间选择器.日期选择器.数字选择器等需求,那么从本期开始来学习Android中常用选择器,今天学习的是DatePicker和TimePicker. 一.DatePicker DatePicker是一个比较简单的组件,从FrameLayout派生而来,供用户选择日期.其在FrameLayout的基础上提供了一些方法来获取当前用户所选择的日期,如果程序需要获取用户选择的…
原文:Android零基础入门第56节:翻转视图ViewFlipper打造引导页和轮播图 前面两期学习了 ViewAnimator及其子类ViewSwitcher的使用,以及ViewSwitcher的子类ImageSwitcher和TextSwitcher的使用,你都掌握了吗?本期我们一起来学习ViewAnimator另一个子类 ViewFlipper组件的使用. 一.ViewFlipper概述 ViewFlipper组件继承了 ViewAnimator,它可调用addView(View v)添…
原文:Android零基础入门第55节:ImageSwitcher和TextSwitcher使用 上一期我们了解了ViewAnimator组件和ViewSwitcher组件的使用,你都掌握了吗?本期一起来学习ViewSwitcher的两个子组件ImageSwitcher和TextSwitcher. 一.ImageSwitcher ImageSwitcher和ImageSwitcher继承了 ViewSwitcher,因此它具有与ViewSwitcher相同的特征:可以在切换View组件时使用动画…
原文:Android零基础入门第54节:视图切换组件ViewSwitcher 前面三期学习了ProgressBar系列组件,那本期开始一起来学习ViewAnimator组件. 一.ViewAnimator组件概述 ViewAnimator是一个基类,它继承了 FrameLayout,因此它表现出FrameLayout的特征,可以将多个View组件叠在一起. ViewAnimator额外增加的功能正如它的名字所暗示的一样,ViewAnimator可以在View切换时表现出动画效果. ViewAni…
原文:Android零基础入门第53节:拖动条SeekBar和星级评分条RatingBar 前面两期都在学习ProgressBar的使用,关于自定义ProgressBar的内容后期会继续学习的,本期先来学习ProgressBar的2个子组件SeekBar和RatingBar. 一.SeekBar 拖动条和进度条非常相似,只是进度条采用颜色填充来表明进度完成的程度,而拖动条则通过滑块的位置来标识数值--而且拖动条允许用户拖动滑块来改变值,因此拖动条通常用于对系统的某种数值进行调节,比如调节音量等.…
原文:Android零基础入门第52节:自定义酷炫进度条 Android系统默认的ProgressBar往往都不能满足实际开发需要,一般都会开发者自定义ProgressBar. 在Android开发中,自定义ProgressBar一般有三种思路来完成. 一.在系统进度条基础上优化 首先来看一下style="@android:style/Widget.ProgressBar.Horizontal"的源码.鼠标移动到style属性值上,按住Ctrl键,鼠标左键点击即可打开对应资源文件. 当…
原文:Android零基础入门第51节:进度条ProgressBar 不知不觉这已经是第51期了,在前面50期我们学了Android开发中使用频率非常高的一些UI组件,当然这些组件还不足够完成所有APP的开发,还会经常用到一些诸如进度条.拖动条.搜索框.时间和日期选择器等组件,那么后面几期就来一起学习这些高级组件. 一.ProgressBar系列组件 ProgressBar也是一组重要的组件,ProgressBar本身代表了进度条组件,它还派生了两个常用的组件:SeekBar和RatingBar…
原文:Android零基础入门第49节:AdapterViewFlipper图片轮播 上一期学习了ExpandableListView的使用,你已经掌握了吗?本期开始学习AdapterViewFilpper的使用. 一.认识AdapterViewFilpper AdapterViewFilpper 继承 了AdapterViewAnimator,它也会显示 Adapter 提供的多个 View 组件,但它每次只能显示一个View组件,程序可通过showPrevious()和showNext()方…
原文:Android零基础入门第50节:StackView卡片堆叠 上一期学习了AdapterViewFilpper的使用,你已经掌握了吗?本期开始学习StackView的使用. 一.认识StackView StackView也是AdapterView Animator的子类,它也用于显示Adapter提供的一系列View. StackView将会以堆叠(Stack)的方式来显示多个列表项. 为了控制StackView显示的View组件,StackView提供了如下两种控制方式. 拖走Stack…
原文:Android零基础入门第48节:可折叠列表ExpandableListView 上一期学习了AutoCompleteTextView和MultiAutoCompleteTextView,你已经掌握了吗?本期开始学习ExpandableListView的使用. 一.认识ExpandableListView ExpandableListView 是 ListView 的子类,它在普通ListView的基础上进行了扩展,它把应用中的列表项分为几组,每组里又可包含多个列表项. Expandabl…
原文:Android零基础入门第46节:下拉框Spinner 上一期学习了GridView的使用,你已经掌握了吗?本期一起来学习Spinner的使用. 一.认识Spinner Spinner其实就是一个列表选择框.不过Android的列表选择框并不需要显示下拉列表,而是相当于弹出一个菜单供用户选择. Spinner 与 Gallery 都继承了AbsSpinner,AbsSpinner 继承了AdapterView,因此它也表现出AdapterView的特征:只要为AdapterView提供Ad…