EF快速开发定义数据接口类(转)

  • using System;
  • using System.Linq;
  • using System.Linq.Expressions;
  • using System.Data.Objects;
  • namespace HENANLUHENG.Framework.EntityRepository
  • {
  • public interface IRepository<T> where T : class, new()
  • {
  • /// <summary>
  • /// 返回一个 System.Linq.IQueryable
  • /// </summary>
  • /// <returns>一个 System.Linq.IQueryable,包含满足由 predicate 指定的条件的元素</returns>
  • IQueryable<T> All();
  • /// <summary>
  • /// 返回一个 System.Linq.IQueryable,包含满足由 predicate 指定的条件的元素
  • /// </summary>
  • /// <param name="predicate">用于测试每个元素是否满足条件的函数</param>
  • /// <returns>一个 System.Linq.IQueryable,包含满足由 predicate 指定的条件的元素</returns>
  • IQueryable<T> Where(Expression<Func<T, bool>> predicate);
  • /// <summary>
  • /// 返回一个 System.Linq.IQueryable,包含满足由 predicate 和 分页参数 指定的条件的元素,并根据键对其元素排序
  • /// </summary>
  • /// <param name="predicate">用于测试每个元素是否满足条件的函数</param>
  • /// <param name="pageSize">页大小</param>
  • /// <param name="pageIndex">页码</param>
  • /// <param name="orderingWhereor">用于从元素中提取键的函数</param>
  • /// <param name="orderBy">排序类型</param>
  • /// <param name="recCount">总数量</param>
  • /// <returns>一个 System.Linq.IQueryable,包含满足由 predicate 和 分页参数 指定的条件的元素,并根据键对其元素排序</returns>
  • IQueryable<T> Where<TKey>(Expression<Func<T, bool>> predicate, int pageSize, int pageIndex, Expression<Func<T, TKey>> orderingWhereor, OrderingOrders orderBy, out int recCount);
  • /// <summary>
  • /// 返回一个 System.Linq.IQueryable,包含满足由 predicate 指定的条件的元素,并根据键对其元素排序
  • /// </summary>
  • /// <param name="predicate">用于测试每个元素是否满足条件的函数</param>
  • /// <param name="orderingWhereor">用于从元素中提取键的函数</param>
  • /// <param name="orderBy">排序</param>
  • /// <returns>一个 System.Linq.IQueryable,包含满足由 predicate 指定的条件的元素,并根据键对其元素排序</returns>
  • IQueryable<T> Where<TKey>(Expression<Func<T, bool>> predicate, Expression<Func<T, TKey>> orderingWhereor, OrderingOrders orderBy);
  • /// <summary>
  • /// 返回一个 System.Linq.IQueryable,包含满足指定的条件的元素,并根据键对其元素排序
  • /// </summary>
  • /// <param name="conditions">条件T-Sql语句</param>
  • /// <param name="objParams">参数</param>
  • /// <returns>一个 System.Linq.IQueryable,包含满足指定的条件的元素,并根据键对其元素排序</returns>
  • IQueryable<T> Where(string conditions, ObjectParameter[] objParams = null);
  • /// <summary>
  • /// 返回一个 System.Linq.IQueryable,包含满足指定的条件的元素,并根据键对其元素排序
  • /// </summary>
  • /// <param name="conditions">条件T-Sql语句</param>
  • /// <param name="pageSize">页大小</param>
  • /// <param name="pageIndex">页码</param>
  • /// <param name="orderByStr">排序T-Sql语句</param>
  • /// <param name="recCount">总数量</param>
  • /// <param name="objParams">参数</param>
  • /// <returns>一个 System.Linq.IQueryable,包含满足指定的条件的元素,并根据键对其元素排序</returns>
  • IQueryable<T> Where(string conditions, int pageSize, int pageIndex, string orderByStr, out int recCount, ObjectParameter[] objParams = null);
  • /// <summary>
  • /// 返回序列的唯一元素;如果该序列并非恰好包含一个元素,则会引发异常。
  • /// </summary>
  • /// <param name="predicate">用于测试每个元素是否满足条件的函数</param>
  • /// <returns>单个元素</returns>
  • T Single(Expression<Func<T, bool>> predicate);
  • /// <summary>
  • /// 返回序列的唯一元素;如果该序列并非恰好包含一个元素,则会引发异常。
  • /// </summary>
  • /// <param name="predicate">用于测试每个元素是否满足条件的函数</param>
  • /// <param name="orderingWhereor">用于从元素中提取键的函数</param>
  • /// <param name="orderBy">排序</param>
  • /// <returns>单个元素</returns>
  • T Single<TKey>(Expression<Func<T, bool>> predicate, Expression<Func<T, TKey>> orderingWhereor, OrderingOrders orderBy);
  • /// <summary>
  • /// 返回序列中满足指定条件的唯一元素;如果序列中不包含任何元素,则返回默认值
  • /// </summary>
  • /// <param name="predicate">用于测试每个元素是否满足条件的函数</param>
  • /// <returns>唯一元素</returns>
  • T FirstOrDefault(Expression<Func<T, bool>> predicate);
  • /// <summary>
  • /// 返回序列中满足指定条件的唯一元素;如果序列中不包含任何元素,则返回默认值
  • /// </summary>
  • /// <param name="predicate">用于测试每个元素是否满足条件的函数</param>
  • /// <param name="orderingWhereor">用于从元素中提取键的函数</param>
  • /// <param name="orderBy">排序</param>
  • /// <returns>唯一元素</returns>
  • T FirstOrDefault<TKey>(Expression<Func<T, bool>> predicate, Expression<Func<T, TKey>> orderingWhereor, OrderingOrders orderBy);
  • /// <summary>
  • /// 返回指定序列中满足条件的元素数量
  • /// </summary>
  • /// <param name="predicate">用于测试每个元素是否满足条件的函数</param>
  • /// <returns>元素数量</returns>
  • int Count(Expression<Func<T, bool>> predicate);
  • /// <summary>
  • /// 将对象添加到当前实体集中的对象上下文
  • /// </summary>
  • /// <param name="entity">实体对象</param>
  • /// <returns>操作是否成功</returns>
  • bool Add(T entity);
  • /// <summary>
  • /// 将对象标记为待删除
  • /// </summary>
  • /// <param name="entity">实体对象</param>
  • /// <returns>操作是否成功</returns>
  • bool Delete(T entity);
  • /// <summary>
  • /// 将满足 指定的条件的元素对象标记为待删除;如果 IsOwnContex == true,将对象保存到数据源
  • /// </summary>
  • /// <param name="conditions">条件T-Sql语句</param>
  • /// <returns>操作是否成功</returns>
  • bool Delete(string conditions);
  • /// <summary>
  • /// 将满足 predicate 指定的条件的元素对象标记为待删除
  • /// </summary>
  • /// <param name="predicate">用于测试每个元素是否满足条件的函数</param>
  • /// <returns>操作是否成功</returns>
  • bool Delete(Expression<Func<T, bool>> predicate);
  • /// <summary>
  • ///     临时把实休对象保存在管理对象中
  • /// </summary>
  • /// <param name="entity"></param>
  • void AddEntity(T entity);
  • }
  • }

转自:http://www.cnblogs.com/henanluheng/p/3523896.html

EF快速开发定义数据接口类(转)

时间: 2024-08-27 00:34:01

EF快速开发定义数据接口类(转)的相关文章

C++:如何正确的定义一个接口类

C++中如何定义接口类?首先给接口类下了定义:接口类应该是只提供方法声明,而自身不提供方法定义的抽象类.接口类自身不能实例化,接口类的方法定义/实现只能由接口类的子类来完成. 而对于C++,其接口类一般具有以下特征: 1.最好不要有成员变量,但可以有静态常量(static const或enum)2.要有纯虚接口方法3.要有虚析构函数,并提供默认实现4.不要声明构造函数 如下就是一个最简单的例子: class Testable{public: static const int START = 1;

Android快速开发系列 常用工具类

1.日志工具类L.java package com.way.common.util; import android.util.Log; /** * Log统一管理类 * * @author way * */ public class L { public static boolean isDebug = true;// 是否需要打印bug,可以在application的onCreate函数里面初始化 private static final String TAG = "way"; //

python开发面向对象基础:接口类&amp;抽象类&amp;多态&amp;多继承

一,接口类 继承有两种用途: 一:继承基类的方法,并且做出自己的改变或者扩展(代码重用) 二:声明某个子类兼容于某基类,定义一个接口类Interface,接口类中定义了一些接口名(就是函数名)且并未实现接口的功能,子类继承接口类,并且实现接口中的功能 开发中容易出现的问题 1 class Alipay: 2 ''' 3 支付宝支付 4 ''' 5 def pay(self,money): 6 print('支付宝支付了%s元'%money) 7 8 class Applepay: 9 ''' 1

快速开发混凝土搅拌企业管理平台

一 前言 天纵智能开发平台可以快速开发各类数据库应用类管理系统,下面介绍一个用天纵智能开发平台开发的混凝土搅拌企业管理平台,此管理平台涉及了混凝土搅拌企业内部全部业 务管理需求,可以很好地提高混凝土搅拌企业的管理水平和管理效率. 二 客户功能要求 1.基本资料 原材料:物品名称,规格,单位 仓  库:水泥仓,矿粉仓,粉煤灰仓,维修配件库,大库,沙库,煤炭库,(各仓库可设定最低库存与最高库存量,当低库存时系统报警,以便及时安排采购,确定采购量) 砂  浆:砂浆品种,砂浆标号,单位组成,配比表 供应

Python抽象类和接口类

一.抽象类和接口类 继承有两种用途: 一:继承基类的方法,并且做出自己的改变或者扩展(代码重用) 二:声明某个子类兼容于某基类,定义一个接口类Interface,接口类中定义了一些接口名(就是函数名)且并未实现接口的功能,子类继承接口类,并且实现接口中的功能. 实践中,继承的第一种含义意义并不很大,甚至常常是有害的.因为它使得子类与基类出现强耦合. 继承的第二种含义非常重要.它又叫"接口继承".接口继承实质上是要求"做出一个良好的抽象,这个抽象规定了一个兼容接口,使得外部调用

快速开发平台能带来什么价值

快速开发平台能带来什么价值 按目前IT行业发展,企业系项目,行业系项目,已经慢慢走向开源交付为主,根据小编这边数据调查,很多中小企业没有过多资深的技术人员,导致很多项目没有办法去 承包,当然包括想要开展其它不是专区的大企业,那么出现这种状态是因为IT发展太快了?人员设备跟不上?答案很明显.只是其中一个因素,例如:公司多了,技术分 散了,没办法去快速去支撑一个项目,尤其是系统的基层研发,或者是,跨领域扩展业务的开展,前期的项目切入,以及系统的兼容项目需求,没法使用原系统去兼容, 等等.种种因素,会

python 抽象类和接口类

一.接口类 继承的两种用途: 1.继承基类的方法,并且做出自己的改变或者扩展(代码重用) 2.声明某个子类兼容于某个基类,定义一个接口类interface,接口类中定义了一些接口名(就是函数 名)  且并未实现接口中的功能. 实践中,继承的第一种用法意义不大,有时候常常有害的.因为它使得子类与基类出现强耦合. 继承的第二种含义非常重要,它叫‘接口继承’. 接口继承是实质上要求‘做出一个良好的抽象’,这个抽象规定了一个兼容接口,使得外部调用者无需关心内部细节,可以一视同仁的处理实现特定接口的所有对

Python中的接口类与抽象类

接口类 面向对象中的继承有两种用途:1)可以通过继承做到代码重用,并完成扩展:2)接口继承.所谓的接口继承就是定义一个接口类 Interface,接口类中定义了一些接口(就是函数,但这些函数都没有具体的实现),子类继承接口类,并且实现接口中的功能~ 接口继承可以使得外部调用者无需关心具体的实现细节,可用相同的方式处理继承了特定接口的所有对象,这里的前提是接口类需要做出一个很好的抽象~ class Operate_database(): # 接口类 def query(self, sql): ra

Android 网络请求json数据,解析json数据,生成对应的java bean类一步到位,快速开发

Android 网络请求一般都涉及到图片和JSON数据,怎样快速的请求网络JSON数据,解析JSON数据,并且一步生成自己想要的Java bean实体类?这个涉及到Android 开发效率的问题.由于接触Android 网络这方面比较多,自然就找到一些好的方法来快速开发Android 网络模块的相关内容,接下来就为大家揭晓 一步快速请求,解析JSON 数据生成对应的Java bean实体类的方法. 注:我们先把思路讲解下吧: 1.网络请求JSON数据代码可以自己写,当然我还是推荐使用网络上开源的