Entity Framework 为啥用DBSET<T> 不用 LIST<T>? [问题点数:20分,结帖人jesh]

Bbs2
本版专家分:125
结帖率 100%
Bbs4
本版专家分:1190
Entity Framework API介绍 -- DbSet<>().Find()
过去我们常常使用Where或First(FirstOrDefault)方法来查找对应的实体,比如: var query = context.CertInfoMakeDetails.ToList().Where(make => int.Parse(make.CertCode) >= startcode &&
DbSet的Add(entity)方法执行出错
因为返回值显示3,初步判断是Add(<em>entity</em>)方法出错。之后查询MSDN,也无法获得满意的答复,所以在博问上请教各位:为能够正常插入数据,Add(<em>entity</em>)的错误应该如何排除??? publi
EF 的静态dbset如何重新映射数据
DbContext 内定义了多个静态<em>dbset</em>,在程序开始运行时初始化DbContext,整个表的数据就已经映射过来了,但是如果在另一个地方修改了数据,我这边的再读出来的数据肯定是不准确了,除了重新初
Entity Framework 基本用法
Entity Framework将概念模型中定义的实体和关系映射到数据源,利用实体框架可以将数据源返回的数据具体化为对象;跟踪对象所做的更改;并发处理;将对象更改传播到数据源等。今天我们就一起讨论如何利用Entity Framework进行查询、插入、更新和删除数据。 查询 我们将使用AdventureWorks数据库来进行今天的所有演示,因此开始之前请准备好相应的数据库。在EF中进行查询应该
Entity Framework4.1实现动态多条件查询、分页和排序
EF通用的分页实现: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 /// /// 根据条件分页获得记录 ///
entity framework 6 自己编写的通用数据类
//dal类: public class BaseDAL { string strConn = ""; public BaseDAL(string connString) { strConn = connString; } #region 通用增删改查 #region
EntityFramework6写的数据访问框架之二BaseDAL
using System; using System.Collections.Generic; using System.Data; using System.Data.Entity; using System.Linq; using System.Linq.Expressions; using System.Text; using LinqKit; using System.Configurat
EntityFramework Core 2.1重新梳理系列属性映射
  满血复活啦,大概有三个月的时间没更新博客了,关于EF Core最新进展这三个月也没怎么去看,不知现阶段有何变化没,本文将以EF Core 2.1稳定版本作为重新梳理系列,希望对看本文的你有所帮助,欢迎一起探讨。(请不要嫌弃啰嗦哈,我习惯于将来龙去脉给大家梳理清楚,各种我能想到的场景给大家讲解明白)。      属性映射探讨      当我们利用Code First映射属性时,此时本身没有什么太...
EF获取非跟踪数据之DBSet.AsNoTracking()
一、EF中用户查询非跟踪数据的方式是使用DBSet.AsNoTracking() 1.目前EF版本是6.0,生成的数据库实体模型都是DbSet类型 2.默认情况下对于数据的访问都是启用模型跟踪 ctx.Configuration.AutoDetectChangesEnabled=true 自动调用DbContext.ChangeTracker.DetectChanges的方法:
求助 EF中 Dbset find() 问题
现有一表有4个联合主键 1 Guid 2 string 3 Guid 4 double 调用Dbset的find()方法后出错 :The argument types 'Edm.Double' and
单元测试 mock EF 中DbContext 和DbSet Include
现在EF越来越流行了,很多时候业务成都是直接访问DbContext 和DbSet来操作数据的。 那么我们测试的时候如何来mock这2个对象了?现在时间很晚了, 就直接贴code吧:首先建一个帮助类: public class MockedDbContext : Mock where T : DbContext { public Dictionarystring, o
EF架构~性能高效的批量操作(Update篇)
https://www.cnblogs.com/lori/archive/2013/01/10/2855073.html EF架构~性能高效的批量操作(Update篇) 回到目录 很多时间之长,我写了EF架构~性能高效的批量操作(Insert篇),而今天我把Update篇也写一下,这对于批量处理数据很有帮助,它解决了EF与linq to sql批量更新数据上的效率问题。 对于EF架构中的批...
ef封装类中如何使用db.Set().Select
ef封装类中,会有db.Set().Where(whereLambda).ToList();这样,通过where返回符合whereLambda的数据列表,但是,这个是返回的列表包含了这些数据的所
分享基于Entity Framework的Repository模式设计
阅读目录: 一、实现的思路和结构图 二、Repository设计具体的实现代码 三、Repository设计的具体的使用 四、总结 一,实现的思路和结构图 总结一下,Repository在实际使用中,有下面三种特点: Repository的共同性 有一些公共的方法(增删改查), 这些方法无关于Repository操作的是哪个实体类,可以把这些方法定义成接口IRepository,
Entity Framework Extended Library (EF扩展类库,支持批量更新、删除、合并多个查询等)
今天乍一看,园子里居然没有关于这个类库的文章,实在是意外毕竟已经有很多介绍EF使用的文章了。 E文好的可以直接看https://github.com/loresoft/EntityFramework.Extended 也可以在nuget上直接安装这个包,它的说明有点过时了,最新版本已经改用对IQueryable的扩展,而不是DbSet(已经标记为弃用),所以跟我一样有隔离癖好的就可以大胆使用了
如何搭建.NET Entity Framework分布式应用系统框架
一、             前言 ADO.NET EntityFramework(以下简称EF)是微软推出的一套O/RM框架,如果用过Linq To SQL的人会比较容易理解,因为Linq To SQL是微软在.net FrameWork 3.0时推出的一套轻量级的O/RM框架,但是只支持SQL Server一种数据库。至.net FrameWork3.5 sp1时,才推出Entity
译文:使用MVC5的Entity Framework 6入门(十一)——为ASP.NET MVC应用程序实现继承
为ASP.NET MVC应用程序使用异步及存储过程这是微软官方教程Getting Started with Entity Framework 6 Code First using MVC 5 系列的翻译,这里是第十一篇:为ASP.NET MVC应用程序实现继承
EF学习笔记——通用增删改查方案
我刚接触EF未久,还不知道它有什么强大的功能
DbContext 的 Code First 模式 怎么设置 某个 DbSet 不自动创建表
我有这样一个需求,我的 DbContext 实例中有两个 DbSet 对象,使用的是 Code First 模式, 每次会自动创建 Images 和 Resources 两个表,我想要的是,不自动创建
EntityFramework DB操作帮助类
EntityFramework DbContext ObjectContext
关于EF框架查询效率的疑惑
using (var edm = new testEntities()) { System.Data.Entity.DbSet TwoCols = edm.ClassInfo;
MongoDB 系列(一) C# 类似EF语法简单封装
https://www.cnblogs.com/hfdel/p/7208902.html?utm_source=itdadao&amp;amp;utm_medium=referral 之前写过一篇关于MongoDB的封装 发现太过繁琐 于是打算从新写一篇简易版 1:关于MongoDB的安装请自行百度,进行权限认证的时候有一个小坑,3.0之后授权认证方式默认的SCRAM-SHA-1模式, 需要首先命令...
EntityFramework6写的数据访问框架之一 BaseDb
using System; using System.Collections.Generic; using System.Data.Entity; using System.Data.Entity.ModelConfiguration.Conventions; using System.Diagnostics; using System.Linq; using System.Text; name
mock EF DbContext DbSet
mock EF DbContext DbSet How to mock an Entity Framework DbContext and its DbSet properties
DbContext和DbSet在System.Data.Entity名称空间中,并没有找到。提示错误
在学习MVC3时,按照其tutorials进行到http://www.asp.net/mvc/tutorials/getting-started-with-mvc3-part4-cs发现, MovieDBContext : DbContext    {        public DbSet中的DbContext和DbSet在System.Data.Entity名称空间中,并没有找到。提示错误。于
为什么我用list不用DataTable
先来说一下背景,机房重构用了DataTable也用了<em>list</em>泛型,经历了从DataTable到<em>list</em>泛型的转变,所以对这两个了解的还算深刻。所以,这次我就打算说说为什么要用<em>list</em>泛型,用他有什么好处? 一句话 DataTable 内存中的数据表 一个二维表 <em>list</em>泛型数组 这里面存放的是一个一个的被对象化的数据模型 分析 我的理解建立<em>list</em>泛型优点: 1,减少输入,传输
请问,如何将listBox1的Items转换成List
请问,如何将<em>list</em>Box1的Items转换成List, 我需要使用List的查询方法,需要查询满足谓词函数条件的元素 比如,Exists方法、Find方法.......等等
ORM及代码生成器C#源码(2012最新版Kenly.DBFramework4.6.5.5)
对象关系映射架构(DBFramework)及代码生成器源码 一、使用对象关系映射组件Kenly.DBFramework.dll<em>不用</em>编写任何SQL或者存储过程即可实现下列功能: 1、数据表、视图和存储过
ORM -DBFrameworkV4.5.1
<em>不用</em>編寫SQL語句或存儲過程即可實現下列功能: 1、數據表、試圖與對象之間的轉換。 2、數據表、試圖的普通和分頁查詢。 3、數據表的完全新增或部分新增(單個對象、多個對象)。 4、數據表的完全更新或部
将DataSet转换成List
将一个dataSet转换成一个<em>list</em> 所以就需要取得DataSet里面的一个table表 因为<em>list</em>是IList类型的,所以就要实例化一个<em>list</em> 【IList <em>list</em>=new List】 这时候我就要取得T类型的所有公有成员,来接收table表的字段【PropertyInfo[] tMembersAll = t.GetType().GetProperties();】 然后我在遍历一下这些所有的公有成员取得其中的一个成员【foreach (PropertyInfo tMember i
CodeFirst实体类中,为什么都把ICollection定义成virtual?
主要是用于延迟加载,提高性能用的 只有定义成virtual后才可以延迟加载。 延迟加载,默认情况下,延迟加载被支持,如果你希望禁用它,必须显式声明,最好的位置是在 DbContext 的构造器中。 public MyDomainContext() { this.Configuration.LazyLoadingEnabled = false; } 这样延迟加载就如你所愿
EntityFramework:支持同一事务提交的批量删除数据实现思路
一切从一段代码说起。。。 下面一段代码是最近我在对一EF项目进行重构时发现的。 protected override void DoRemove(T <em>entity</em>) { this.dbContext.Entry(<em>entity</em>).State = EntityState.Deleted; Committed = false; } protected override
【续】5年后,我们为什么要从 Entity Framework 转到 Dapper 工具?
前言 上一篇文章收获了 140 多条评论,这是我们始料未及的。 向来有争议的话题都是公说公的理,婆说婆的理,Entity Framework的爱好者对此可以说是嗤之以鼻,不屑一顾,而Dapper爱好者则是举双手赞成,阅之大快人心。 每个人不同的阅历,社会经验,甚至对简繁的偏见都会影响对此事的看法,凡事都有优劣,取其精华而弃之糟泊,方为上策。 这篇文章则将目光聚焦到Dapper。 Dapper是如此...
Entity Framework的查询与操作
直接执行sql语句 MyDbContext myc = new MyDbContext(); //直接执行sql语句 List user<em>list</em> = myc.UserInfo.SqlQuery("select * from [UserInfoes]").ToList(); //执行sql语句返回任意对象
EntityFramework之领域驱动设计实践(九)
仓储的实现:深入篇 早在年前的时候就已经在CSAI博客发表了上一篇文章:《仓储的实现:基础篇》。苦于日夜奔波于工作与生活之间,一直没有能够抽空继续探讨仓储的实现细节,也让很多关注EntityFramework和领域驱动设计的朋友们备感失望。 闲话不多说,现在继续考虑,如何让仓储的操作在相同的事物处理上下文中进行。DDD引入仓储模式,其目的之一就是能够通过仓储隐藏对象持久化的技术
在Apworks数据服务中使用基于Entity Framework Core的仓储(Repository)实现
《在ASP.NET Core中使用Apworks快速开发数据服务》一文中,我介绍了如何使用Apworks框架的数据服务来快速构建用于查询和管理数据模型的RESTful API,通过该文的介绍,你会看到,使用Apworks框架开发数据服务是何等简单快捷,提供的功能也非常多,比如对Hypermedia的支持,以及提供丰富的异常信息和调用栈信息。另外,Apworks数据服务可以支持各种类型的仓储(Rep
解答EntityFramework Core是否可以映射私有属性
EF Core映射私有属性在EF 6.x系列中写过一篇文章可以映射私有属性,说明EF的灵活性以及可扩展性,那么问题来了在EF Core是否同样可以呢,我们来试试。 public class Blog { public int Id { get; set; } private string Name { get; set; } publi...
在EntityFramework(EF)中删除主从表记录
删除主表:  如果要删除单个的Book对象,由于启用了级联删除,干掉一个Book,它所关联的所有BookReview也一并删除了。(说的简单,如果用Attach方法或者Remove,加修改删除状态,只要使用之前加载的包含子表记录的对象是不行的) 先查询要删除的记录(因为有级联删除,所以不加载子表记录),然后再Remove,最后SaveChange即可;删除子表:如果想删除单个书评,如果使用DB_F...
List 分页方式,泛型分页方式
protected List ListPager(List DataSource, int CurrentPageIndex, int PageSize, string FilterExpression, ref int count)   {   count = 0;   if (DataSource == null || DataSource.Count == 0)   return D
Entity Framework 增删改查基本操作(封装基类)
 分享一下自己在使用EF时,对增删改查基本操作的封装代码,一般在Biz层使用一个基类(因公司风格叫Biz层,其实就是DAL层)。1.基类代码:使用虚方法子类可以重写。public class BizBase&amp;lt;T&amp;gt; where T : class, new() { //上下文对象 protected WESMSEF dbContext = DbContextHelper....
CSharp 4.0 .Net Framework V4.0 List《T》类
CSharp 4.0 .Net Framework V4.0 List《T》类
深入理解IEnumerable和IQueryable两接口的区别
无论是在ado.net EF或者是在其他的Linq使用中,我们经常会碰到两个重要的静态类Enumerable、Queryable,他们在System.Linq命名空间下。那么这两个类是如何定义的,又是来做什么用的呢?特别是Queryable类,它和EF的延迟加载技术有什么联系呢? 好,带着上面的问题开始我们今天的学习。 首先介绍两个类的定义 (1)Enumerable类,对继承了IEnume...
Entity Framework中对应于Entity的代理类
在使用Entity Framework的时候,发现_userService.GetUserById(int id)返回的对象并不是User, 而是类似于System.Data.Entity.DynamicProxies.Blog_5E43C6C196972BF0754973E48的一个代理类。其实,在很多ORM框架,如NHibernate中,都有这样一种机制,目的是方便延迟加载。所有能使用User
MongoDB学习系列 (二)
学习 MongoOperations  源码 对Mongodb的操作,直接查看org.spring<em>framework</em>.data.mongodb.core.MongoOperations  更简单明确一些,如果想看操作实例,则看下下面MongoTemplate 的代码,上源码 /* * Copyright 2010-2011 the original author or authors.
T对象转换成map对象/List对象 * 或者map对象/List对象转换为T对象
# T对象转换成map对象/List对象 * 或者map对象/List对象转换为T对象 - **把T对象转换为Map对象** - **Map对象转换为T对象** - **获得T对象的<em>list</em>中的一个 **
如何解决List 类型的数据属性值去重的问题
今天在进行自己的项目的过程中,遇到一个很实际的需要:既要数据有序,而且要求相关的数据不能重复,突然遇到这样的一个需求,我也不知如何去解决,后来在不断的尝试下,就解决了,纪录下,希望可以能帮助其他人。List&amp;lt;RoomInfo&amp;gt; roo = roomInfoService.findRoomInfo();   for(int i=0;i &amp;lt; roo.size();i++) {    ...
【EF框架】DbContext的使用
前言 DbContext类是EntityFramework (简称 EF)中的一个类,可以理解为一个数据库对象的实例。在 EF中,无需手动的拼接 SQL 语句对数据库进行增删改查,而是通过 DbContext 来进行相应操作。叙述DbContext类DbContext类是实体框架的重要组成部分。它是您的域或实体类与数据库之间的桥梁。DbContext是负责与数据交互作为对象的主要类。DbConte
Entity Framework 6 连接Sqlite数据库遇到的问题
项目中有用到EF6,使用过程中遇到了点问题,记录一下,希望给有需要的同学一点帮助 至于怎么用ef 网上有很多教程 在此不再赘述 1、问题一 获取Nuget包后,导入数据库,编译 提示Unable to determine the provider name for provider factory of type 'System.Data.SQLite.SQLiteFactory'. Ma
重新认识了下Entity Framework
http://www.cnblogs.com/Erik_Xu/p/6017144.html 什么是Entity Framework   Entity Framework是一个对象关系映射O/RM框架。   Entity Framework让开发者可以像操作领域对象(domain-specific objects)那样操作关系型数据(relational data)。
利用泛型将DataSet转为Model
public static List PutAllVal(T <em>entity</em>, DataSet ds) where T : new() { List <em>list</em>s = new List(); if (ds.Tables[0].Rows.Count > 0) { foreach (DataRow row in ds.Tables[0].Rows) {
entity中对集合List进行更新
private void SaveDatabase(List <em>list</em>) { using (SMTERPEntities smterpe = new SMTERPEntities()) { foreach (var item in <em>list</em>) {
EntityFramework之原始查询及性能优化(六)
前言 在EF中我们可以通过Linq来操作实体类,但是有些时候我们必须通过原始sql语句或者存储过程来进行查询数据库,所以我们可以通过EF Code First来实现,但是SQL语句和存储过程无法进行映射,于是我们只能手动通过上下文中的SqlQuery和ExecuteSqlCommand来完成。 SqlQuery sql语句查询实体  通过DbSet中的SqlQuery方法来
Entity Framework 5.0系列之约定配置
Code First之所以能够让开发人员以一种更加高效、灵活的方式进行数据操作有一个重要的原因在于它的约定配置。现在软件开发越来复杂,大家也都试图将软件设计的越来越灵活,很多内容我们都希望是可配置的,但是过多的配置也会带来很大的工作量,解决这个问题的方法就是约定。对于一些简单的,不太可能经常变化的内容我们以一种约定的方式进行设计。使用过其他ORM框架的朋友可能知道一般ORM都有对应的映射配置文件(
List 根据属性去重
/** * <em>list</em>去重复(深) 并根据字段进行排序 */ public static &amp;lt;T&amp;gt; ArrayList&amp;lt;T&amp;gt; deduplicate(List&amp;lt;T&amp;gt; <em>list</em>, String filedName) { Set&amp;lt;T&amp;gt; set = new TreeSet&amp;lt;&amp;gt;(new Compa...
【全网首发】EntityFrameWork(EF)6.x 仓储扩展帮助类
EntityFrameWork 6.x Respoistory Extensions,EF 6.x 仓储帮助扩展类,于2016-04-08封装完成,集成了常规CRUD,以及批量增删改和执行SQL操作,非常适合大家使用!
C#集合中的Add与AddRange方法
C#.NET的集合主要位于System.Collections和System.Collections.Generic(泛型)这两个namespace中。 1、System.Collections 比如ArrayList,其Add(继承自接口IList)和AddRange方法可用于想集合中添加元素。 代码示例: (1)Add:添加单个元素 ArrayList myAL = new Ar
List泛型集合 与 DataSet 之间的转换
前言   最近在项目中需要将List数据类型转换为DataSet,所以涉及到了如下的方法, 内容 /// &amp;lt;/summary&amp;gt; /// &amp;lt;param name=&quot;List&quot;&amp;gt;泛型集合&amp;lt;/param&amp;gt; /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt; public DataSet Conve...
Linq使用Group By分析 Entity Framework 使用注意:Where查询条件中用到的关联实体不需要Include
Linq使用Group By分析 http://www.aspww.cn/View/11060401.aspx  Entity Framework 使用注意:Where查询条件中用到的关联实体不需要Include http://www.cnblogs.com/dudu/archive/2012/04/13/<em>entity</em>_<em>framework</em>_include_where.html
ASP.Net MVC开发基础学习笔记(6):Model和Entity Framework
一、创建Model MVC中的Model是用来给View提供显示数据的对象。 这里我们首先创建一个Model对象。 在解决方案资源管理器中右键点击Models文件夹,选择添加->类。添加一个名为Employee.cs的Model类。Models文件夹是默认存放所有Model的地方。 在Employee.cs文件中添加如下代码: 隐藏代码namespace SlarkInc.Model
整理一下Entity Framework的查询
Entity Framework是个好东西,虽然没有Hibernate功能强大,但使用更简便。今天整理一下常见SQL如何用EF来表达,Func形式和Linq形式都会列出来(本人更喜欢Func形式)。 1、简单查询: SQL: ? 1 SELECT * FROM [Clients] WHERE Type=1 AND
Entity Framework 小技巧四 —— 如何使用NoTracking查询得到Detached状态的实体?
原文链接 有时我们的实体只需要显示,无需更新,所以为了提高性能,我们不需要实体被EF context追踪。此时可以使用NoTracking的查询来得到实体,这样实体的状态会是Detached状态。   在EF3.5 SP1和EF 4中,我们可以这样来进行NoTracking查询: using (var context = new MyObjectContext(
获得EntityFramework生成的SQL语句
ObjectQuery.ToTraceString 方法 () 用法 int productID = 900; using (AdventureWorksEntities context = new AdventureWorksEntities()) { // Define the object query for the specific product.
List list泛型去重(注:用到了set,泛型为实体对象时切记要重写hashcode和equals方法)
public static &amp;lt;T&amp;gt; List&amp;lt;T&amp;gt; removeRepeatFormList(List&amp;lt;T&amp;gt; <em>list</em>) { Set&amp;lt;T&amp;gt; set = new HashSet&amp;lt;T&amp;gt;(); List&amp;lt;T&amp;gt; newList = new ArrayList&amp;lt;T&amp;gt;(); for (Iterator&amp;lt;T
.NET Entity Framework(EF)使用SqlQuery直接操作SQL查询语句或者执行过程
Entity Framework是微软出品的高级ORM框架,大多数.NET开发者对这个ORM框架应该不会陌生。本文主要罗列在.NET(ASP.NET/WINFORM)应用程序开发中使用Entity Framework直接执行SQL语句或者存储过程的一些代码片段。具体请见以下正文: 1.使用SqlQuery在已知的实体上执行SQL查询语句 using (var context = new M
EntityFramework连接串的调用时传入
EntityFramework自动将数据库映射到Model,同时会生成相应的连接字符串,如下图。 生成之后,我们看到自动生成的DBDemoEntities的类,只有一个默认的无参的构造函数,如下图 这在一般情况下是OK的,因为只我们在App.config或者Web.config配置了这个连接串即可。如下图。 但是当我们希望自己传入连接字符串时,就无能为力了。那我们怎么
在EntityFramework6中管理DbContext的正确方式(2)【DbContext的默认行为】
(译者注:使用EF开发应用程序的一个难点就在于对其DbContext的生命周期管理,你的管理策略是否能很好的支持上层服务 使用独立事务,使用嵌套事务,并行执行,异步执行等需求? Mehdi El Gueddari对此做了深入研究和优秀的工作并且写了一篇优秀的文章,现在我将其翻译为中文分享给大家。由于原文太长,所以翻译后的文章将分为四篇。你看到的这篇就是是它的第二篇。原文地址:http://mehd...
C# 解耦EntityFramework进行单元测试
C# 解耦EntityFramework进行单元测试
Entity Framework连接数据库、初始化的一些知识
俗话说:“工欲善其事必先利其器”,在深入讲解Entity Framework之前,先准备一下开发工具以及前期的配置。 一、开发工具开发工具基本略过,这里说一下,我使用的是Visual Studio 2012,Entity Framework版本为4.3.1,获取这个版本的办法:在Package Manager Console中输入Install-Package EntityFramework -V...
quartus错误解决
1、在用quartus编译bdf文件时,出现了上述错误: Error: Can't compile duplicate declarations of <em>entity</em> "**" into library "work" 原因是.v文件和.bdf文件名重复。 解决方法:将bdf文件名改掉 2、编译错误: near "wire": syntax error, unexpected wir...
entity framework 6.0 复杂条件的两种调用方式
 共同的部分 OrderModelField omf1 = new OrderModelField("Fbqssj", true);//多个字段排序 OrderModelField omf2 = new OrderModelField("XXGKID", false); 采用方法1或者2 JyWeb_XXGK_Short prexxgk = b
2.C#:C#泛型类之LIST
本文来自:http://www.cnblogs.com/wisdomforce/archive/2010/05/31/1748642.html 1、        定义 System.Collections.Generic.List类表示可通过索引访问的对象的强类型列表。提供用于对列表进行搜索、排序和操作的方法。T为类型参数,代表列表中元素的类型。该类实现了IList泛型接口,
C# 为何需要泛型集合list;,及其一般用法
初次接触泛型<em>list</em>&amp;lt;T&amp;gt;时还不太能理解,随着不断地学习,初步地总结了一下<em>list</em>&amp;lt;T&amp;gt;泛型集合,本文将针对泛型集合提出三个问题,什么是泛型?有了哈希表,二维数组,字典等类型,为何还需要泛型集合?它又有什么强大的功能让程序员爱不释手? 在此之前,我们都知道无论是C#还是C,C++语言,它们的优点我就不再赘述,但是它们无外乎都有一个让人头痛不已的地方,那就是它们都是强类型的...
Java基础学习总结(49)——Excel导入导出工具类
在项目的pom文件中引入     net.sourceforge.jexcelapi jxl 2.6.10 package com.zhy.util.excel; import java.io.InputStream; import java.io.OutputStream; import java.lang.reflect.Field; import ja
EntityFrameWork数据迁移——暨改变数据库结构的方法
EntityFramework在对数据迁移时的支持并不好,现在到了6.3版本以后,Model-First的方法也被抛弃,而Code-First的方法更多的是针对首次建立数据模型的情况。一旦想要修改现有的数据库表结构,对数据库进行迁移(升级)就会遇到各种问题。在使用EF进行数据迁移时,如果我们修改的不是主键的话,那还是比较简单,增,删减字段,都是可以的,但仍旧需要打开EF的自动合并。具体方法如下:
C#笔记:List的Sort(排序)方法
C#:List&amp;lt; T &amp;gt;的Sort方法   List&amp;lt; T &amp;gt;的默认排序十分高效,它在排序时会依据实际情况采用相比之下较为优修的排序策略。 Sort()   排序对象的元素的类型必须实现ICompareable接口。   实现ICompareable接口的类型可以重写CompareTo的方法。 ICompareable: public int Compar...
浅析Entity Framework Core2.0的日志记录与动态查询条件
一、 Entity Framework Core2.0的日志记录早在Entity Framework Core1.0 ,我们就使用相关的ILoggerProvider ILogger 这些基础接口类.来实现过日志记录.在Entity Framework Core2.0  估计是为了配合ASP.NET Core的日志.所以对这些接口进行了更进一步的包装,也弃用了一些接口和类,如:IRelationa
关于EntityFramework 7 开发学习
99
MVC5 Entity Framework学习之创建复杂的数据模型
Contoso University示例程序演示了如何使用Entity Framework 6 Code First 和 Visual Studio 2013创建ASP.NET MVC 5应用程序。 在上一篇文章中你已经创建了由三个实体组成的简单的数据模型。在本文章中你将会添加更多的实体和关系,并且通过指定格式、验证和数据库映射规则来自定义数据模型。这里介绍两种自定义数据模型的方法:向实体类中添加属性和向数据库上下文类中添加代码。 下面是完成后的数据模型类图 1.使用属性来自定义数据模型 在本节中你将学
使用tensorflow和cnn(卷积神经网络)识别验证码并构建API
cnn_captcha use CNN recognize captcha by tensorflow. 本项目针对字符型图片验证码,使用tensorflow实现卷积神经网络,进行验证码识别。 项目封装了比较通用的校验、训练、验证、识别、API模块,极大的减少了识别字符型验证码花费的时间和精力。 项目已经帮助很多同学高效完成了验证码识别任务。 如果你在使用过程中出现了bug和做了良好的改进,欢迎提...
使用Entity Framework CodeFirst模式创建新数据库
开发环境 Visual Studio 2010 SP1SQL Server Compact 4.0 演练步骤 打开Visual Studio;新建Console应用程序Known.EFDemo;创建Blog模型; 1 2 3 4 5 6 7 8 9 10 11 12 13
Entity Framework——Linq组合条件查询
条件查询(任意组合条件)EntityFramework实现了IQueryable接口,所以它支持 Linq的Queryable查询。Queryable在查询时可以先将Linq表达式转换成SQL,然后在与数据库查询。这种查询方式可以提高查询效率,因为<em>不用</em>每次将数据库种整个表都查询下来。我们应该尽量“延迟”到使用数据时才调用EntityFramework的ToList()方法,因为ToList的时候E...
Entity Framework的简单使用方法
ORM,指的时面向对象的对象模型和关系型数据库的数据结构之间的相互转换。(O   今天试了一把EF(<em>entity</em> <em>framework</em>),感觉<em>不用</em>ADO.net ,也能完成对数据库的操作,而且看起来是那么的简洁,下面就是个人使用过程中的一些总结,就当做笔记使用了。下面是用EF来做一个随手记小项目(用于日常记帐的。大笑)   EF操作使用步骤:1.创建数据库,建立表。2.先建一个控制台程序
Datatable转为List / DataRow转为实体类对象
using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; namespace cfzs.DAL { public class B
C#高性能Span類型
using System.ComponentModel; using System.Reflection; using System.Runtime.CompilerServices; namespace System { [DefaultMember(&quot;Item&quot;)] [IsByRefLike] [IsReadOnly] public struct Span&amp;...
Dev GridView绑定测试demo
Dev GridView 绑定List、BindingList 、BindingSource
entity framework—利用导航属性添加数据
<em>entity</em> <em>framework</em>中可以利用导航属性去添加数据。 当两张表有主外键关系的时候,并且在两张表中添加的数据都是不存在的数据,便可以利用导航属性去插入数据。例如下面的两张表:
泛型的类型获取
T.getClass()或者T.class都是非法的,因为T是泛型变量。由于一个类的类型是什么,是在编译期处理的,故不能在运行时直接在Base里得到T的实际类型。 /** *@author zhangwenchao *@version * 可以在service层直接调用,也可以在DAO层扩展调用 */ public class BaseDaoImpl implements BaseDa
C# EntityFramework DbFirst的情况下为实体添加各种特性(不需要T4模板)
在开发的过程需要给实体添加特性,为了方便选择的EF的codeFirst。但是后期需要用到视图,codeFirst映射视图的方式在网上找了很久都没有找到合适的办法,而且采用dbFirst的情况下,为实体添加特性又成了难题,虽然说学习T4模板是个好办法,但是却感觉使用模板有很多限制。后来在传智播客的培训视频中找到了解决方法。因为这个视频很早了。方法有点老,但是很实用。 一、通过数据库创建实体 创建...
SpringBoot+SpringMVC+MybatisPlus框架整合练习之【美女图片】爬虫---图文详细流程
最近浏览很多博客,学习了不少新的知识,收获颇多,就想着能不能将新学的知识整合一下来练练手,提高自己撸代码搭框架的能力,还有就是给大家一个新年福利,爬一爬美女图片网站。上车请刷卡,哈哈。顺便就拿这爬来的数据作为基础数据来整合最近学习的框架。一劳多得。当然,本文还是以框架整合为主,爬取美女图片只是为了获取基础数据而已啦!!
Entity Framework表名默认自动变为复数形式的解决方法
今天学习<em>entity</em>框架,直接用类映射数据库表结构,使用类来操作表。结果提示以下错误: 查遍代码页没有找到有cities这个关键词,断点分析了一下,是<em>entity</em>自动把表名改成了复数形式(<em>entity</em>大哥我真是给你跪了,变复数这样的属性也搞成标配) 百度查<em>entity</em>表名复数相关网页,最终发现<em>entity</em>有个默认变复数的属性,把这个属性移除掉就ok了。 对应代码如下(红色部分就是移除
Entity Framework code first 手动修改数据库的问题
1. 手动给表格添加字段或者新增一个表格会不会对DBContext产生影响呢? 不会产生影响,如果我们不想code中的model不和数据库中增加的保持一致,可以不添加对应的字段和model,但是如果我们需要保持一致,如何做呢 步骤如下: a. 将Model手动改成与数据库一致 b. 在执行DbContext的实例化前加一句 Database.SetInitializer(null);
ORM及代码生成器和插件C#源码(DBFrameworkV4.5.3)
一、使用对象关系映射组件Kenly.DBFramework.dll<em>不用</em>编写任何SQL或者存储过程即可实现下列功能: 1、数据表、视图和存储过程与对象之间的转换。 2、数据表、视图的自定义条件查询。 3、数据表、视图的分页查询。 4、根据ID、主键或自定义条件对数据表进行增、删、改操作。 5、实现一对一、一对多、多对一和多对多的关系映射。 6、支持单个对象和多个对象之间的事务控制。 7、支持查询结果排序。 8、支持查询表达式生成。 9、支持延迟加载。 二、代码生成器 1、根据指定的数据库连接,自动生成数据表、视图和存储过程对应的对象代码(C#代码)。 2、自动生成相关的工程文件,生成完整的业务层项目文件。 3、可以帮助生成自定义查询方法。 4、支持SQLServer2000、SQLServer2005和Oracle代码生成插件,支持插件扩展。 提供 1、对象关系映射组件: Kenly.DBFramework.dll 2、代码生成器源码:Xsd2CS。 3、代码生成器插件源码(支持SQLServer2000、SQLServer2005和Oracle):Plugin。 4、使用手册:DBFramework.Manual V4.5.3.pdf。 主要API: public abstract class ViewGateway where T: new() { // Methods static ViewGateway(); protected ViewGateway(); protected static int Count(); protected static int Count(string condition); protected static List CountGroup(string groupBy); protected static List CountGroup(string condition, string groupBy); public static List CreateInstances(int count); protected static List Distinct(string columnName); protected static List Distinct(string columnName, string condition); protected static List Distinct(string columnName, string condition, bool ignoreNull); protected static bool Exists(string condition); public bool ExistsById(); public bool ExistsByPK(); protected static List Find(PagingArg pagingArg, params string[] propertyNames); protected static List Find(string condition, params string[] propertyNames); protected static List Find(PagingArg pagingArg, bool sqlServer2000, params string[] propertyNames); protected static List Find(string condition, PagingArg pagingArg, params string[] propertyNames); protected static List Find(string condition, PagingArg pagingArg, bool sqlServer2000, params string[] propertyNames); protected static List FindAll(params string[] propertyNames); protected static void FindTop(T firstOne); protected static List FindTop(int topCount, params string[] propertyNames); protected static void FindTop(string condition, T firstOne); protected static List FindTop(string condition, int topCount, params string[] propertyNames); protected static void InitializeGateway(GatewayConfig config); protected static void InitializeGateway(DatabaseType dbType, string connectionString); protected void InitializeInstance(T <em>entity</em>); protected static object Max(string columnName); protected static object Max(string columnName, string condition); protected static List MaxGroup(string columnName, string groupBy); protected static List MaxGroup(string columnName, string condition, string groupBy); protected static object Min(string columnName); protected static object Min(string columnName, string condition); protected static List MinGroup(string columnName, string groupBy); protected static List MinGroup(string columnName, string condition, string groupBy); protected static DataTable Query(PagingArg pagingArg, params string[] propertyNames); protected static DataTable Query(string condition, params string[] propertyNames); protected static DataTable Query(PagingArg pagingArg, bool sqlServer2000, params string[] propertyNames); protected static DataTable Query(string condition, PagingArg pagingArg, params string[] propertyNames); protected static DataTable Query(string condition, PagingArg pagingArg, bool sqlServer2000, params string[] propertyNames); protected static DataTable QueryAll(params string[] propertyNames); protected static DataTable QueryTop(int topCount, params string[] propertyNames); protected static DataTable QueryTop(string condition, int topCount, params string[] propertyNames); public ArrayList RetrieveAssociations(); public ArrayList RetrieveAssociations(Type elementType); public ArrayList RetrieveAssociations(params Type[] elementTypes); public void RetrieveById(); public void RetrieveByPK(); protected internal virtual void RetrieveBySql(string sql); public void ShadowCopyTo(object targetEntity); public void ShadowCopyTo(T targetEntity); protected static double Sum(string columnName); protected static double Sum(string columnName, string condition); protected static List SumGroup(string columnName, string groupBy); protected static List SumGroup(string columnName, string condition, string groupBy); public static string ToColumnName(string propertyName); public static T ToObject(DataRow adaptedRow); public static List ToObjects(DataTable adaptedTable); public static List ToObjects(DataRow[] adaptedRows); public static string ToPropertyName(string columnName); public static DataTable ToTable(IList entities); public static DataTable ToTable(params T[] entities); public static DataTable ToTable(bool isAdapted, params T[] entities); public static DataTable ToTable(bool isAdapted, IList entities); // Properties protected internal static string CommandText { get; } protected internal static GatewayConfig Config { get; } internal T Entity { get; set; } public object EntityId { get; } public object PrimaryKey { get; } protected static Order SortedOrder { get; set; } } public abstract class TableGateway : ViewGateway where T: TableGateway, new() { // Methods static TableGateway(); protected TableGateway(); public int AddNew(); public static int AddNew(IList entities); public static int AddNew(T <em>entity</em>); public int AddNew(bool returnId<em>entity</em>); public static int AddNew(T <em>entity</em>, bool returnId<em>entity</em>); public static int AddNew(IList entities, out Transaction transaction); public static int AddNew(IList entities, bool returnId<em>entity</em>); public static int AddNew(T <em>entity</em>, out Transaction transaction); public static int AddNew(IList entities, bool returnId<em>entity</em>, out Transaction transaction); public static int AddNew(T <em>entity</em>, bool returnId<em>entity</em>, out Transaction transaction); public IDbTransaction BeginTransaction(); public IDbTransaction BeginTransaction(IsolationLevel isolationLevel); public IDbTransaction BeginTransaction(double activeTime); public IDbTransaction BeginTransaction(IsolationLevel isolationLevel, double activeTime); public bool Commit(); protected static int Delete(string condition); protected static int Delete(string condition, out Transaction transaction); public int DeleteById(); public static int DeleteById(T <em>entity</em>); public static int DeleteById(IList entities); public static int DeleteById(IList entities, out Transaction transaction); public static int DeleteById(T <em>entity</em>, out Transaction transaction); public int DeleteByPK(); public static int DeleteByPK(T <em>entity</em>); public static int DeleteByPK(IList entities); public static int DeleteByPK(IList entities, out Transaction transaction); public static int DeleteByPK(T <em>entity</em>, out Transaction transaction); protected void OnPropertyChanged(MethodBase propertyMethod); protected void OnPropertyChanged(string propertyName); protected internal override void RetrieveBySql(string sql); public bool Rollback(); protected static int Update(T <em>entity</em>, string condition); protected static int Update(T <em>entity</em>, string condition, out Transaction transaction); public int UpdateById(); public static int UpdateById(IList entities); public static int UpdateById(T <em>entity</em>); public static int UpdateById(T <em>entity</em>, out Transaction transaction); public static int UpdateById(IList entities, out Transaction transaction); public int UpdateByPK(); public static int UpdateByPK(IList entities); public static int UpdateByPK(T <em>entity</em>); public static int UpdateByPK(IList entities, out Transaction transaction); public static int UpdateByPK(T <em>entity</em>, out Transaction transaction); // Properties public bool Changed { get; } public List ChangedPropertyNames { get; } } public class StoredProcedure : IStoredProcedure { public bool BeginTransaction(); public void CloseReader(IDataReader reader); public bool Commit(); public DataSet ExecuteDataSet(); public DataTable ExecuteDataTable(); public DataTable ExecuteDataTable(); public List ExecuteEntity(); public int ExecuteNonQuery(); public IDataReader ExecuteReader(); public object ExecuteScalar(); protected static void InitializeGateway(GatewayConfig config); protected static void InitializeGateway(DatabaseType dbType, string connectionString); protected void InitializeInstance(T <em>entity</em>); public bool Rollback(); } public class AggregateEntity where T: AggregateEntity, new() { public static List Execute(); protected static List Execute(string condition); public static DataTable ExecuteDataTable(); protected static DataTable ExecuteDataTable(string condition); protected static void InitializeGateway(GatewayConfig config); protected static void InitializeGateway(DatabaseType dbType, string connectionString); // Properties protected static Order SortedOrder { get; set; } } public static class EntityMapper { // Methods public static void AdaptToDatabase(DataTable adaptedTable); public static void AdaptToEntity(DataTable rawTable); public static void CopyToEntities(IList entities, IList adaptedRows); public static void CopyToEntities(IList entities, DataTable adaptedTable); public static void CopyToEntity(T <em>entity</em>, DataRow row); public static List CreateEntities(int count); public static DataTable CreateTable(); public static DataTable CreateTable(bool isAdapted); public static string ToColumnName(string propertyName); public static List ToEntities(IList adaptedRows); public static List ToEntities(DataTable table); public static T ToEntity(DataRow adaptedRow); public static string ToPropertyName(string columnName); public static DataTable ToTable(IList entities); public static DataTable ToTable(params T[] entities); public static DataTable ToTable(bool isAdapted, params T[] entities); public static DataTable ToTable(bool isAdapted, IList entities); } public static class EntityUtility { // Methods public static List Inherit(IList entities); public static T Inherit(object <em>entity</em>); public static T Inherit(Tbase baseEntity, TransformAction method); public static List Inherit(IList baseEntities, TransformAction method); public static void ShadowCopy(IList targetEntities, IList sourceEntities); public static void ShadowCopy(object targetEntity, object sourceEntity); }
为什么要使用Entity Framework
本文介绍从DDD(Domain-Driven Design[领域驱动设计])的角度来说说为什么要使用Entity Framework(以下都会简称为EF),同时也看出类似...
数据结构、算法与应用 C++语言描述 原书第2版_2下载
数据结构、算法与应用 C++语言描述 原书第2版 第二部分 相关下载链接:[url=//download.csdn.net/download/licwwqy/9584845?utm_source=bbsseo]//download.csdn.net/download/licwwqy/9584845?utm_source=bbsseo[/url]
inno setup下载
inno setup inno setup inno setup inno setup 相关下载链接:[url=//download.csdn.net/download/so185582/1963289?utm_source=bbsseo]//download.csdn.net/download/so185582/1963289?utm_source=bbsseo[/url]
CDMA Universal Unpacked下载
软件,CDMA写号用。可以读出手机中的信息。写号时首先第一步要做的就是读数据。 相关下载链接:[url=//download.csdn.net/download/zhyax/2010086?utm_source=bbsseo]//download.csdn.net/download/zhyax/2010086?utm_source=bbsseo[/url]
文章热词 设计制作学习 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 达内大数据班开班试题t nlp课程为啥很贵
我们是很有底线的