.NET CORE 数据库的配置以及使用

.net core 可以使用多种方式操作数据库,下面简单讲诉三种方式,仅供参考。

(1) 如果是从之前的.net framework中迁移到core中,之前framework的配置都

是在webconfig中进行的,现在我们需要在app.config文件中进行配置,下面实例用的是企业库。


  
  
    
(2) 还可以使用官网提供的Microsoft.EntityFrameworkCore进行数据库的使用。
首先在Startup.cs 文件中找到ConfigureServices方法,注入

    // Add framework services. 注入services
    services.AddDbContext(options =>
    options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

    //DB
    services.AddDbContext(options =>
    options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

    services.AddIdentity()
    .AddEntityFrameworkStores()
    .AddDefaultTokenProviders();

其次添加ApplicationDbContext类
    public class ApplicationDbContext  : IdentityDbContext
    {
        public ApplicationDbContext(DbContextOptions options)
            : base(options)
        {
        }
        protected override void OnModelCreating(ModelBuilder builder)
        {
            base.OnModelCreating(builder);
        }
    }
    添加ApplySysContext类
    public class ApplySysContext : DbContext
    {
        public ApplySysContext(DbContextOptions options) : base(options)
        {
        }
        public DbSet Login { get; set; }
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
        }
    }
	添加ApplicationUser类
	        public class ApplicationUser : IdentityUser
        {
        }
		
	之后在controller将ApplySysContext传入,就可以调用dbset的一下方法了,简单的方法如下:
	
	    /// 
        /// 
        /// 
        /// T
        /// Boolean
	    public Boolean Insert(T entity) where T : class 
        {
            try
            {
                _db.Set().Add(entity);
                _db.SaveChanges();
                return true;
            }
            catch (Exception e)
            {
                throw e;
            }
            
        }

        /// 
        /// 
        /// 
        /// T
        /// Boolean
        public Boolean BatchInsert(List entityList) where T : class
        {
            try
            {
                foreach (T entity in entityList)
                {
                    _db.Set().Add(entity);
                }
                _db.SaveChanges();
                return true;
            }
            catch (Exception e)
            {
                throw e;
            }

        }

        /// 
        /// 
        /// 
        /// T
        /// Boolean
        public Boolean Update(T entity) where T : class
        {
            try
            {
                _db.Set().Update(entity);
                _db.SaveChanges();
                return true;
            }
            catch (Exception e)
            {
                throw e;
            }
        }

        /// 
        /// 
        /// 
        /// T
        /// Boolean
        public Boolean Delete(T entity) where T : class
        {
            try
            {
                _db.Set().Remove(entity);
                _db.SaveChanges();
                return true;
            }
            catch (Exception e)
            {
                throw e;
            }
        }

        /// 
        /// 
        /// 
        /// T
        /// Boolean
        public T FindByPK(object[] key) where T : class
        {
            try
            {
                return _db.Set().Find(key);
            }
            catch (Exception e)
            {
                throw e;
            }
        }

你可能感兴趣的:(C#)