您的位置:首页 > 编程学习 > ASP.NET > 正文

entity framewrk访问数据库的封装类

更多 时间:2015-1-12 类别:编程学习 浏览量:375

entity framewrk访问数据库的封装类

entity framewrk访问数据库的封装类

实体框架Entity Framework 是 ADO.NET 中的一组支持开发面向数据的软件应用程序的技术。是微软的一个ORM框架。

 

entity framewrk访问数据库的封装类  (MSSql 数据库 )

 

  •  
  • C# 代码   复制
  • 
    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.Data.Entity;
    using System.Data.Entity.Infrastructure;
    using System.Linq;
    using System.Linq.Expressions;
    using System.Reflection;
    using System.Text;
    
    namespace DAL
    {
    
        public partial class MyEntities : DbContext
        {
            public MyEntities(): base(GetEntityConnectionString(connectionString))
            {
            }
    
            private static string GetEntityConnectionString(string connectionString)
            {
                EntityConnectionStringBuilder entityBuilder = new EntityConnectionStringBuilder();
               
                entityBuilder.Metadata = "res://*/MyDB.csdl|res://*/MyDB.ssdl|res://*/MyDB.msl";
                entityBuilder.ProviderConnectionString = connectionString;
                entityBuilder.Provider = "System.Data.SqlClient";
    
                return entityBuilder.ToString();
            }
        }
    
       /// <summary>
        /// MSSql 数据库 数据层 父类
        /// </summary>
        /// <typeparam name="T"></typeparam>
        public class BaseDAL<T> where T : class,new()
        {
            /// <summary>
            /// EF 上下文对象
            /// </summary>
            MyEntities db = new MyEntities();
    
            1.0 新增实体,返回受影响的行数 +  int Add(T model)
    
            新增实体,返回对应的实体对象 + T AddReturnModel(T model)
    
            根据id删除 +  int Del(T model)
    
            根据条件删除 + int DelBy(Expression> delWhere)
    
            修改实体 +  int Modify(T model)
    
            修改实体,可修改指定属性 + int Modify(T model, params string[] propertyNames)
    
            批量修改 + int ModifyBy(T model, Expression> whereLambda, params string[] modifiedPropertyNames)