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

Bbs2
本版专家分:125
结帖率 100%
Bbs4
本版专家分:1170
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
entity framework 6 自己编写的通用数据类
//dal类: public class BaseDAL { string strConn = ""; public BaseDAL(string connString) { strConn = connString; } #region 通用增删改查 #region
EntityFramework Core 2.1重新梳理系列属性映射
  满血复活啦,大概有三个月的时间没更新博客了,关于EF Core最新进展这三个月也没怎么去看,不知现阶段有何变化没,本文将以EF Core 2.1稳定版本作为重新梳理系列,希望对看本文的你有所帮助,欢迎一起探讨。(请不要嫌弃啰嗦哈,我习惯于将来龙去脉给大家梳理清楚,各种我能想到的场景给大家讲解明白)。      属性映射探讨      当我们利用Code First映射属性时,此时本身没有什么太...
Entity Framework Extended Library (EF扩展类库,支持批量更新、删除、合并多个查询等)
今天乍一看,园子里居然没有关于这个类库的文章,实在是意外毕竟已经有很多介绍EF使用的文章了。 E文好的可以直接看https://github.com/loresoft/EntityFramework.Extended 也可以在nuget上直接安装这个包,它的说明有点过时了,最新版本已经改用对IQueryable的扩展,而不是DbSet(已经标记为弃用),所以跟我一样有隔离癖好的就可以大胆使用了
分享基于Entity Framework的Repository模式设计
阅读目录: 一、实现的思路和结构图 二、Repository设计具体的实现代码 三、Repository设计的具体的使用 四、总结 一,实现的思路和结构图 总结一下,Repository在实际使用中,有下面三种特点: Repository的共同性 有一些公共的方法(增删改查), 这些方法无关于Repository操作的是哪个实体类,可以把这些方法定义成接口IRepository,
EF系列(二)——DbContext 和DbSet
当我们创建了实体数据模型”时,EDM包含了SchoolDBEntities,SchoolDBEntities是从System.Data.Entity.DbContext类派生的类,如下所示。派生DbContext的类SchoolDBEntities在实体框架中被称为上下文类。 DbContext是域或实体类与数据库之间的桥梁。 功能: 查询:将LINQ-to-Entities查询转换
如何搭建.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
EntityFramework之领域驱动设计实践(九)
仓储的实现:深入篇 早在年前的时候就已经在CSAI博客发表了上一篇文章:《仓储的实现:基础篇》。苦于日夜奔波于工作与生活之间,一直没有能够抽空继续探讨仓储的实现细节,也让很多关注EntityFramework和领域驱动设计的朋友们备感失望。 闲话不多说,现在继续考虑,如何让仓储的操作在相同的事物处理上下文中进行。DDD引入仓储模式,其目的之一就是能够通过仓储隐藏对象持久化的技术
EF学习笔记——通用增删改查方案
我刚接触EF未久,还不知道它有什么强大的功能
mock EF DbContext DbSet
mock EF DbContext DbSet How to mock an Entity Framework DbContext and its DbSet properties
译文:使用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获取非跟踪数据之DBSet.AsNoTracking()
一、EF中用户查询非跟踪数据的方式是使用DBSet.AsNoTracking() 1.目前EF版本是6.0,生成的数据库实体模型都是DbSet类型 2.默认情况下对于数据的访问都是启用模型跟踪 ctx.Configuration.AutoDetectChangesEnabled=true 自动调用DbContext.ChangeTracker.DetectChanges的方法:
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名称空间中,并没有找到。提示错误。于
CodeFirst实体类中,为什么都把ICollection定义成virtual?
主要是用于延迟加载,提高性能用的 只有定义成virtual后才可以延迟加载。 延迟加载,默认情况下,延迟加载被支持,如果你希望禁用它,必须显式声明,最好的位置是在 DbContext 的构造器中。 public MyDomainContext() { this.Configuration.LazyLoadingEnabled = false; } 这样延迟加载就如你所愿
为什么我用list不用DataTable
先来说一下背景,机房重构用了DataTable也用了<em>list</em>泛型,经历了从DataTable到<em>list</em>泛型的转变,所以对这两个了解的还算深刻。所以,这次我就打算说说为什么要用<em>list</em>泛型,用他有什么好处? 一句话 DataTable 内存中的数据表 一个二维表 <em>list</em>泛型数组 这里面存放的是一个一个的被对象化的数据模型 分析 我的理解建立<em>list</em>泛型优点: 1,减少输入,传输
【EF框架】DbContext的使用
前言 DbContext类是EntityFramework (简称 EF)中的一个类,可以理解为一个数据库对象的实例。在 EF中,无需手动的拼接 SQL 语句对数据库进行增删改查,而是通过 DbContext 来进行相应操作。叙述DbContext类DbContext类是实体框架的重要组成部分。它是您的域或实体类与数据库之间的桥梁。DbContext是负责与数据交互作为对象的主要类。DbConte
MVC5 Entity Framework学习之添加排序、筛选和分页功能
前一篇文章中实现了对Student 实体的的基本CRUD操作,在这篇文章中将演示如何为Students Index页面添加排序、筛选和分页的功能。 下面是当完成排序、筛选和分页功能后的截图,你可以点击列标题来进行排序。 1.为 Students Index页面添加列排序链接 要为Students Index页面添加排序功能,你需要修改Student controller的Inde
Entity Framework的查询与操作
直接执行sql语句 MyDbContext myc = new MyDbContext(); //直接执行sql语句 List user<em>list</em> = myc.UserInfo.SqlQuery("select * from [UserInfoes]").ToList(); //执行sql语句返回任意对象
在Apworks数据服务中使用基于Entity Framework Core的仓储(Repository)实现
《在ASP.NET Core中使用Apworks快速开发数据服务》一文中,我介绍了如何使用Apworks框架的数据服务来快速构建用于查询和管理数据模型的RESTful API,通过该文的介绍,你会看到,使用Apworks框架开发数据服务是何等简单快捷,提供的功能也非常多,比如对Hypermedia的支持,以及提供丰富的异常信息和调用栈信息。另外,Apworks数据服务可以支持各种类型的仓储(Rep
将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
【续】5年后,我们为什么要从 Entity Framework 转到 Dapper 工具?
前言 上一篇文章收获了 140 多条评论,这是我们始料未及的。 向来有争议的话题都是公说公的理,婆说婆的理,Entity Framework的爱好者对此可以说是嗤之以鼻,不屑一顾,而Dapper爱好者则是举双手赞成,阅之大快人心。 每个人不同的阅历,社会经验,甚至对简繁的偏见都会影响对此事的看法,凡事都有优劣,取其精华而弃之糟泊,方为上策。 这篇文章则将目光聚焦到Dapper。 Dapper是如此...
Entity Framework中对应于Entity的代理类
在使用Entity Framework的时候,发现_userService.GetUserById(int id)返回的对象并不是User, 而是类似于System.Data.Entity.DynamicProxies.Blog_5E43C6C196972BF0754973E48的一个代理类。其实,在很多ORM框架,如NHibernate中,都有这样一种机制,目的是方便延迟加载。所有能使用User
CSharp 4.0 .Net Framework V4.0 List《T》类
CSharp 4.0 .Net Framework V4.0 List《T》类
MongoDB学习系列 (二)
学习 MongoOperations  源码 对Mongodb的操作,直接查看org.spring<em>framework</em>.data.mongodb.core.MongoOperations  更简单明确一些,如果想看操作实例,则看下下面MongoTemplate 的代码,上源码 /* * Copyright 2010-2011 the original author or authors.
Entity Framework 增删改查基本操作(封装基类)
 分享一下自己在使用EF时,对增删改查基本操作的封装代码,一般在Biz层使用一个基类(因公司风格叫Biz层,其实就是DAL层)。1.基类代码:使用虚方法子类可以重写。public class BizBase&amp;lt;T&amp;gt; where T : class, new() { //上下文对象 protected WESMSEF dbContext = DbContextHelper....
EntityFramework:支持同一事务提交的批量删除数据实现思路
一切从一段代码说起。。。 下面一段代码是最近我在对一EF项目进行重构时发现的。 protected override void DoRemove(T <em>entity</em>) { this.dbContext.Entry(<em>entity</em>).State = EntityState.Deleted; Committed = false; } protected override
C#集合中的Add与AddRange方法
C#.NET的集合主要位于System.Collections和System.Collections.Generic(泛型)这两个namespace中。 1、System.Collections 比如ArrayList,其Add(继承自接口IList)和AddRange方法可用于想集合中添加元素。 代码示例: (1)Add:添加单个元素 ArrayList myAL = new Ar
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) {
EntityFramework中常用的数据删除方式
最近在学EF,目前了解到删除操作有三种方式, 第一,官方推荐的先查询数据,再根据查询的对象,删除对象。 这是第一种,官方推荐 第二,自己创建一个对象,然后附加,然后删除。 这是第二种 第三,自己创建对象,然后放入EF容器,然后删除。 这是第三种 跟踪结果 首先第一种 会先查询,然后再删除,
T对象转换成map对象/List对象 * 或者map对象/List对象转换为T对象
# T对象转换成map对象/List对象 * 或者map对象/List对象转换为T对象 - **把T对象转换为Map对象** - **Map对象转换为T对象** - **获得T对象的<em>list</em>中的一个 **
EntityFramework之原始查询及性能优化(六)
前言 在EF中我们可以通过Linq来操作实体类,但是有些时候我们必须通过原始sql语句或者存储过程来进行查询数据库,所以我们可以通过EF Code First来实现,但是SQL语句和存储过程无法进行映射,于是我们只能手动通过上下文中的SqlQuery和ExecuteSqlCommand来完成。 SqlQuery sql语句查询实体  通过DbSet中的SqlQuery方法来
entity中对集合List进行更新
private void SaveDatabase(List <em>list</em>) { using (SMTERPEntities smterpe = new SMTERPEntities()) { foreach (var item in <em>list</em>) {
Entity Framework操作数据库失败解决方法(持续更新)
今天用EF来删除数据的时候提示:The object cannot be deleted because it was not found in the ObjectStateManager.之后再网上找到了解决方法(附上链接:https://stackoverflow.com/questions/15945172/the-object-cannot-be-deleted-because-it-w...
【全网首发】EntityFrameWork(EF)6.x 仓储扩展帮助类
EntityFrameWork 6.x Respoistory Extensions,EF 6.x 仓储帮助扩展类,于2016-04-08封装完成,集成了常规CRUD,以及批量增删改和执行SQL操作,非常适合大家使用!
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...
EF架构~性能高效的批量操作(Update篇)
https://www.cnblogs.com/lori/archive/2013/01/10/2855073.html EF架构~性能高效的批量操作(Update篇) 回到目录 很多时间之长,我写了EF架构~性能高效的批量操作(Insert篇),而今天我把Update篇也写一下,这对于批量处理数据很有帮助,它解决了EF与linq to sql批量更新数据上的效率问题。 对于EF架构中的批...
Entity Framework 5.0系列之约定配置
Code First之所以能够让开发人员以一种更加高效、灵活的方式进行数据操作有一个重要的原因在于它的约定配置。现在软件开发越来复杂,大家也都试图将软件设计的越来越灵活,很多内容我们都希望是可配置的,但是过多的配置也会带来很大的工作量,解决这个问题的方法就是约定。对于一些简单的,不太可能经常变化的内容我们以一种约定的方式进行设计。使用过其他ORM框架的朋友可能知道一般ORM都有对应的映射配置文件(
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 小技巧四 —— 如何使用NoTracking查询得到Detached状态的实体?
原文链接 有时我们的实体只需要显示,无需更新,所以为了提高性能,我们不需要实体被EF context追踪。此时可以使用NoTracking的查询来得到实体,这样实体的状态会是Detached状态。   在EF3.5 SP1和EF 4中,我们可以这样来进行NoTracking查询: using (var context = new MyObjectContext(
ASP.Net MVC开发基础学习笔记(6):Model和Entity Framework
一、创建Model MVC中的Model是用来给View提供显示数据的对象。 这里我们首先创建一个Model对象。 在解决方案资源管理器中右键点击Models文件夹,选择添加->类。添加一个名为Employee.cs的Model类。Models文件夹是默认存放所有Model的地方。 在Employee.cs文件中添加如下代码: 隐藏代码namespace SlarkInc.Model
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
整理一下Entity Framework的查询
Entity Framework是个好东西,虽然没有Hibernate功能强大,但使用更简便。今天整理一下常见SQL如何用EF来表达,Func形式和Linq形式都会列出来(本人更喜欢Func形式)。 1、简单查询: SQL: ? 1 SELECT * FROM [Clients] WHERE Type=1 AND
解答EntityFramework Core是否可以映射私有属性
EF Core映射私有属性在EF 6.x系列中写过一篇文章可以映射私有属性,说明EF的灵活性以及可扩展性,那么问题来了在EF Core是否同样可以呢,我们来试试。 public class Blog { public int Id { get; set; } private string Name { get; set; } publi...
如何解决List 类型的数据属性值去重的问题
今天在进行自己的项目的过程中,遇到一个很实际的需要:既要数据有序,而且要求相关的数据不能重复,突然遇到这样的一个需求,我也不知如何去解决,后来在不断的尝试下,就解决了,纪录下,希望可以能帮助其他人。List&amp;lt;RoomInfo&amp;gt; roo = roomInfoService.findRoomInfo();   for(int i=0;i &amp;lt; roo.size();i++) {    ...
entityframework中的codefirst模式练习(一)
不试不知道,一试吓一跳,各种错,简直吓cry了 找了之前的一个mvc建的项目,就这么开始了,感觉系统给的名字太low了,就换个吧,从MvcApplication1=>MVCDemo.UI.Portal,好像也没什么问题哦,接着就是创建上面那个东西,其实这是昨晚的事,纠结死我了,下面的知道是项目,却不知道上面那个是什么鬼,后来在人家blog中知道了是类库,新建项目里面就有了,一个问题解决了。 继
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...
在EntityFramework6中管理DbContext的正确方式(2)【DbContext的默认行为】
(译者注:使用EF开发应用程序的一个难点就在于对其DbContext的生命周期管理,你的管理策略是否能很好的支持上层服务 使用独立事务,使用嵌套事务,并行执行,异步执行等需求? Mehdi El Gueddari对此做了深入研究和优秀的工作并且写了一篇优秀的文章,现在我将其翻译为中文分享给大家。由于原文太长,所以翻译后的文章将分为四篇。你看到的这篇就是是它的第二篇。原文地址:http://mehd...
手把手引进门之 ASP.NET Core & Entity Framework Core(官方教程翻译版 版本3.2.5)
以下是手把手引进门教程,基于 ASP.NET Core, Entity Framework Core ,ABP 框架 创建Web 应用, PS: 自带自动的测试模块哦。样例下载 (上 github 的请自便)介绍这是系列文章的第一部分:使用 ASP.NET Core, Entity Framework Core 和 ASP.NET Boilerplate 创建N层Web应用 在本文中,我将指导大家
在EntityFramework(EF)中删除主从表记录
删除主表:  如果要删除单个的Book对象,由于启用了级联删除,干掉一个Book,它所关联的所有BookReview也一并删除了。(说的简单,如果用Attach方法或者Remove,加修改删除状态,只要使用之前加载的包含子表记录的对象是不行的) 先查询要删除的记录(因为有级联删除,所以不加载子表记录),然后再Remove,最后SaveChange即可;删除子表:如果想删除单个书评,如果使用DB_F...
C# 解耦EntityFramework进行单元测试
C# 解耦EntityFramework进行单元测试
C#对List取交集、差集及并集
1. 交集 (1)取交集 (A和B都有) List A : { 1 , 2 , 3 , 5 , 9 } List B : { 4 , 3 , 9 } var intersectedList = <em>list</em>1.Intersect(<em>list</em>2); 结果 : { 3 , 9 } (2)判斷A和B是否有交集 bool isIntersected = <em>list</em>1.Intersect(l...
【C#】EntityFramework的添加使用
EntityFramework是C#中用于操作数据库的一种方式,比直接用sql语句操作数据库更加方便,尽管效率略微低一点点,但在一般情况下,这种代码级操作数据能在编码中就能发现错误,写起来也更顺手。下面通过图形界面操作详解一下步奏: 1.在现有项目添加一个用于数据库操作层的项目DataAccess: 2.安装Entity Framework 确保已安装NuGet,在上面的项目中选择引用,...
entity framework 6.0 复杂条件的两种调用方式
 共同的部分 OrderModelField omf1 = new OrderModelField("Fbqssj", true);//多个字段排序 OrderModelField omf2 = new OrderModelField("XXGKID", false); 采用方法1或者2 JyWeb_XXGK_Short prexxgk = b
MVC5 Entity Framework学习之创建复杂的数据模型
Contoso University示例程序演示了如何使用Entity Framework 6 Code First 和 Visual Studio 2013创建ASP.NET MVC 5应用程序。 在上一篇文章中你已经创建了由三个实体组成的简单的数据模型。在本文章中你将会添加更多的实体和关系,并且通过指定格式、验证和数据库映射规则来自定义数据模型。这里介绍两种自定义数据模型的方法:向实体类中添加属性和向数据库上下文类中添加代码。 下面是完成后的数据模型类图 1.使用属性来自定义数据模型 在本节中你将学
2.C#:C#泛型类之LIST
本文来自:http://www.cnblogs.com/wisdomforce/archive/2010/05/31/1748642.html 1、        定义 System.Collections.Generic.List类表示可通过索引访问的对象的强类型列表。提供用于对列表进行搜索、排序和操作的方法。T为类型参数,代表列表中元素的类型。该类实现了IList泛型接口,
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...
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
使用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
EntityFrameWork数据迁移——暨改变数据库结构的方法
EntityFramework在对数据迁移时的支持并不好,现在到了6.3版本以后,Model-First的方法也被抛弃,而Code-First的方法更多的是针对首次建立数据模型的情况。一旦想要修改现有的数据库表结构,对数据库进行迁移(升级)就会遇到各种问题。在使用EF进行数据迁移时,如果我们修改的不是主键的话,那还是比较简单,增,删减字段,都是可以的,但仍旧需要打开EF的自动合并。具体方法如下:
Entity Framework——Linq组合条件查询
条件查询(任意组合条件)EntityFramework实现了IQueryable接口,所以它支持 Linq的Queryable查询。Queryable在查询时可以先将Linq表达式转换成SQL,然后在与数据库查询。这种查询方式可以提高查询效率,因为<em>不用</em>每次将数据库种整个表都查询下来。我们应该尽量“延迟”到使用数据时才调用EntityFramework的ToList()方法,因为ToList的时候E...
浅析Entity Framework Core2.0的日志记录与动态查询条件
一、 Entity Framework Core2.0的日志记录早在Entity Framework Core1.0 ,我们就使用相关的ILoggerProvider ILogger 这些基础接口类.来实现过日志记录.在Entity Framework Core2.0  估计是为了配合ASP.NET Core的日志.所以对这些接口进行了更进一步的包装,也弃用了一些接口和类,如:IRelationa
SpringBoot+SpringMVC+MybatisPlus框架整合练习之【美女图片】爬虫---图文详细流程
最近浏览很多博客,学习了不少新的知识,收获颇多,就想着能不能将新学的知识整合一下来练练手,提高自己撸代码搭框架的能力,还有就是给大家一个新年福利,爬一爬美女图片网站。上车请刷卡,哈哈。顺便就拿这爬来的数据作为基础数据来整合最近学习的框架。一劳多得。当然,本文还是以框架整合为主,爬取美女图片只是为了获取基础数据而已啦!!
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#数据实体转换类EntityHelper
/// /// 数据实体转换类 /// public class EntityHelper { /// /// 判断DataSet默认表是否为空:true:不为空 false:为空。 /// /// /// public static bool CheckD
framework bundle多次加载注意
转自:http://www.cnblogs.com/realtimepixels/p/3652128.html 2.assetbundle如果从WWW中被读取过一次,再读取会报错 当你把assetbundle资源用www下载下来后,往往都会使用“wwwResource.assetbundle”,但是注意,这个函数调用assetbundle的时候,只能调用一遍。意思是,当你要再次读取的时候,会报
Dev GridView绑定测试demo
Dev GridView 绑定List、BindingList 、BindingSource
获得EntityFramework生成的SQL语句
ObjectQuery.ToTraceString 方法 () 用法 int productID = 900; using (AdventureWorksEntities context = new AdventureWorksEntities()) { // Define the object query for the specific product.
关于EntityFramework 7 开发学习
99
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模式, 需要首先命令...
Entity Framework code first 手动修改数据库的问题
1. 手动给表格添加字段或者新增一个表格会不会对DBContext产生影响呢? 不会产生影响,如果我们不想code中的model不和数据库中增加的保持一致,可以不添加对应的字段和model,但是如果我们需要保持一致,如何做呢 步骤如下: a. 将Model手动改成与数据库一致 b. 在执行DbContext的实例化前加一句 Database.SetInitializer(null);
深入理解IEnumerable和IQueryable两接口的区别
无论是在ado.net EF或者是在其他的Linq使用中,我们经常会碰到两个重要的静态类Enumerable、Queryable,他们在System.Linq命名空间下。那么这两个类是如何定义的,又是来做什么用的呢?特别是Queryable类,它和EF的延迟加载技术有什么联系呢? 好,带着上面的问题开始我们今天的学习。 首先介绍两个类的定义 (1)Enumerable类,对继承了IEnume...
在EntityFramework6中管理DbContext的正确方式(1)【考虑的关键点】
(译者注:使用EF开发应用程序的一个难点就在于对其DbContext的生命周期管理,你的管理策略是否能很好的支持上层服务 使用独立事务,使用嵌套事务,并行执行,异步执行等需求? Mehdi El Gueddari对此做了深入研究和优秀的工作并且写了一篇优秀的文章,现在我将其翻译为中文分享给大家。由于原文太长,所以翻译后的文章将分为四篇。你看到的这篇就是是它的第一篇。原文地址:http://mehd...
ORM及代码生成器C#源码(2012最新版Kenly.DBFramework4.6.5.5)
对象关系映射架构(DBFramework)及代码生成器源码 一、使用对象关系映射组件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、代码生成器源码:CodeHelper。 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); }
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); }
EntityFrameWork Code First 多数据库以及自定义字符串的使用+连接字符串加密调用
关于使用EF-CodeFirst中多数据库使用 以及 自定义字符串的使用 +连接字符串加密调用 度娘好久都没有发现有资料能直接解决这3个问题的文章 这里就把自己摸索的经验给大家分享一下 不多说直接上代码 ef-cf=EntityFrameWork Code First 1,常规ef-cf引用之后 生成的代码以及config配置 丢出来,怎么生成的这个就自己找 很多 我这里是
C#反射List调用Add方法
举个之前做过工具中找过的代码 在这里列举部分 自行修改 即可使用 这里主要是介绍List&amp;lt;T&amp;gt;调用 Add 方法:一个类实例 gameData 中有一个 List&amp;lt;T&amp;gt;的成员(Field 我就把他叫成员了)//这段可以忽略 就是要获得<em>list</em>这个成员信息 FieldInfoFieldInfo fInfo = gameData.GetType().GetField(ToLow...
C#学习笔记(八)—–LinqToSql和Entity Framework(上)
LinqToSql和Entity Framework虽然linqtosql(以下简称L2S)现在已经停止更新或者更新的很慢,它的地位也由Entity Framework(以下简称EF)逐渐取代,但是理解它们的原理对于后面的深入学习EF还是非常有必要的,而且基于L2S的速度上面的优势,有时也会直接用L2S来做业务。 本章还是基于前面讲解的Linq的两个方面(本地查询和解释查询)中的解释查询来介绍的,
Entity Framework的简单使用方法
ORM,指的时面向对象的对象模型和关系型数据库的数据结构之间的相互转换。(O   今天试了一把EF(<em>entity</em> <em>framework</em>),感觉<em>不用</em>ADO.net ,也能完成对数据库的操作,而且看起来是那么的简洁,下面就是个人使用过程中的一些总结,就当做笔记使用了。下面是用EF来做一个随手记小项目(用于日常记帐的。大笑)   EF操作使用步骤:1.创建数据库,建立表。2.先建一个控制台程序
ORM及代码生成器C#源码(最新版V4.5.8.5、非常适于ASP.NET MVC)
对象关系映射架构(DBFramework)及代码生成器源码 一、使用对象关系映射组件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、代码生成器源码:CodeHelper。 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); }
自用的基于Emit的C#下DataTable转实体类方法
自用的基于Emit的C#下DataTable转实体类方法之前一直在做WebForm的开发,数据绑定时直接DataTable绑定Gridview很方便,但是最近开始往MVC转,数据列表的传递和页面展示基本上是以List为主,像下面这样,遍历实体类的各个字段去赋值的办法当然是最浪费时间的。 if (row["ID"] != null && row["ID"].ToString()
C# 为何需要泛型集合list;,及其一般用法
初次接触泛型<em>list</em>&amp;lt;T&amp;gt;时还不太能理解,随着不断地学习,初步地总结了一下<em>list</em>&amp;lt;T&amp;gt;泛型集合,本文将针对泛型集合提出三个问题,什么是泛型?有了哈希表,二维数组,字典等类型,为何还需要泛型集合?它又有什么强大的功能让程序员爱不释手? 在此之前,我们都知道无论是C#还是C,C++语言,它们的优点我就不再赘述,但是它们无外乎都有一个让人头痛不已的地方,那就是它们都是强类型的...
Entity Framework学习笔记——EF简介(一篇文章告诉你什么是EF)
从读代码的角度来说,EF可以使我们在不需要了解数据结构的情况下就可以很好地理解;从实现的角度来说,EF可以使存储“模型化”,就如同将很多个对象存储在一个List中似的,向数据库表里存储的都是一个个实例,从数据库中拿到的也都是一个个实例。程序如此跟数据库的交互,和OO化的代码相互对应,容易“对接”。 实体框架主要是用来帮助我们把一个个对象存储到数据库中去(即通过对象与数据库“打交道”),只要把对象交给实体框架,<em>不用</em>自己写SQL语句,它会帮助我们自动生成SQL语句,这里生成的SQL语句通过
idea 上传代码到 github 出现的出现的问题
今天上传代码到github上面,出现了两个小问题,以及解决方法,记录下     1.问题描述         Can't create repository: springboot-email 422 Unprocessable Entity - Repository creation failed.         Repository; description]custom: descript...
entity framework(EF) 中的Lambda表达式简单应用
<em>entity</em> <em>framework</em>(EF) 中的Lambda表达式简单应用 应用DEMO Listh_job> <em>list</em>= GetListWhereBy(m => m.h_job_id > 2, m => m.h_job_id); //根据传入Lambda表达式条件进行查询 public static List GetListWhere(Expression>
List和List的区别?
转自:https://www.zhihu.com/question/31429113 List和List的区别,这问的有点含糊。我想题主是想问类型参数“”和无界通配符“”的区别吧? 讨论“"和"",首先要区分开两种不同的场景: 第一,声明一个泛型类或泛型方法。第二,使用泛型类或泛型方法。 类型参数“”主要用于第一种,声明泛型类或泛型方法。 无界通配符“”主要用
SpringBoot集成Redis,以及MybatisPlus分页、Mapper的使用(一)
概述这段时间接触很多知识,也逐渐深入到项目整个流程开发,对Linux也有逐步地认识。虽然有去探索,但感觉能力还不足以写出来跟大家分享。撰写本文是了解到有些读者反馈,对于MP(MybatisPlus缩写)不太了解以及如何去使用,但更多还是笔者用完觉得非常强大,有必要share。文章还会主讲Redis配置使用,篇幅有点长,因此分为两节讲解。构建 开发环境:Spring Tool Suite(Versio
Entity FrameWork中DbSet序列化问题
最近在捉摸Entity FrameWork4.1,想利用之加上Net Remoting做一个分布式的局域网应用程序。Ef采用Ef PowerTools生成,将尸体类模型分离出来作为EntityModel供各层使用。经过测试发现其生成的实体类不可以序列化,加上序列化标签这个问题解决了。然而要取得一个实体集对象(比如Users)到客户端时,却提示DBSet未标示为可序列化。网上看了好多文章,大部分都是在用ObjectSet的,这两个有点不同。是不是说分布式应用只能采用ObjectSet不能使用DbSet,DbSet是不可序列化的?
为什么要使用Entity Framework
本文介绍从DDD(Domain-Driven Design[领域驱动设计])的角度来说说为什么要使用Entity Framework(以下都会简称为EF),同时也看出类似...
泛型的类型获取
T.getClass()或者T.class都是非法的,因为T是泛型变量。由于一个类的类型是什么,是在编译期处理的,故不能在运行时直接在Base里得到T的实际类型。 /** *@author zhangwenchao *@version * 可以在service层直接调用,也可以在DAO层扩展调用 */ public class BaseDaoImpl implements BaseDa
EF通用数据层封装类(支持读写分离,一主多从)
阅读目录 浅谈orm浅谈Entity FrameworkEntity Framework 通用数据层类扩展类,实现读写分离进一步改造,实现多从库读取参考文章源码分享 回到顶部 浅谈orm   记得四年前在学校第一次接触到 Ling to Sql,那时候瞬间发现<em>不用</em>手写sql语句是多么的方便,后面慢慢的接触了许多orm框架,像 EF,Dapper,Hibernate,Service
EntityFramework 入门 CRUD(新增、查询、修改、删除)
IT交流互助QQ群:79190545    (Sql Server / Java / Asp.Net / C# / JS / Jquery / Oracle / My Sql / )            -- 欢迎大家进来 聊天,交流 !!。(定期清理 不说话、潜水太深的同学)      Entity Framework  总共有三种开发模式实现数据访问 :
List常用的一些方法
List集合简单的 增 删 改 查
Entity Framework创建与使用(图)
一、创建1、新建项目>选择项目,添加>新建项,选择图中ado.net实体数据模型 2、选择 从数据库生成,下一步 3、点击新建连接 4、在打开的窗口填写服务器地址(本地是:.),填写数据库登陆用户名和密码,选择数据库,测试链接是否成功,点击确定 5、选择是,下一步 6、这里视情况而定,我用的是数据表,点击完成就好了。到这一步就创建好了。 7、因为我是把它放在别
Android反编译出错详解(如何安装frameworks文件)
一般来说,android应用需要使用一些你的设备上,android系统里的代码和资源. Apktool 需要 <em>framework</em> files(框架文件) 来编译apks. 标准的<em>framework</em>s框架文件已经嵌入在 apktool中, 所以大多数的apk不需要你再安装<em>framework</em>s文件. 但是有一些厂商, 比如 HTC, 增加了他们自己的 <em>framework</em>文件. 为了使apktool
Java泛型集合结构,List,及其子类ArrayList,LinkedList的使用
学习内容: 集合: 1.List:存储有序的,可重复的元素。 2.Set:存储是无序的,不允许重复元素。 3.集合List,及其子类ArrayList,LinkedList的使用 明白其来源及其存储方式 List,ArrayList(线性表存储方式),LinkedList(链表存储方式)存储的是引用类型的引用,在使用remove(Object obj)时,系
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...
jquery/js实现一个网页同时调用多个倒计时(最新的)
jquery/js实现一个网页同时调用多个倒计时(最新的) 最近需要网页添加多个倒计时. 查阅网络,基本上都是千遍一律的不好用. 自己按需写了个.希望对大家有用. 有用请赞一个哦! //js //js2 var plugJs={     stamp:0,     tid:1,     stampnow:Date.parse(new Date())/1000,//统一开始时间戳     ...
c#winform开发框架下载
一款还不错的C#winform开发框架,对于想学习C#框架的初学者来说,是很值得借鉴的 相关下载链接:[url=//download.csdn.net/download/zengpu2109/4277414?utm_source=bbsseo]//download.csdn.net/download/zengpu2109/4277414?utm_source=bbsseo[/url]
Silverlight 网上花店下载
Silverlight 网上花店 本人自己开发的网上花店 Silverlight版,有点粗糙 :-) 更多资料, 请到我的下载空间来下载 相关下载链接:[url=//download.csdn.net/download/billwater/2180111?utm_source=bbsseo]//download.csdn.net/download/billwater/2180111?utm_source=bbsseo[/url]
校园无线网络的构建及其在教学中的应用下载
校园无线网络的构建及其在教学中的应用 校园无线网络的构建及其在教学中的应用 相关下载链接:[url=//download.csdn.net/download/lj329318171/2422683?utm_source=bbsseo]//download.csdn.net/download/lj329318171/2422683?utm_source=bbsseo[/url]
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 达内大数据班开班试题t nlp课程为啥很贵
我们是很有底线的