前言
DbContext类是EntityFramework (简称 EF)中的一个类,可以理解为一个数据库对象的实例。在 EF中,无需手动的拼接 SQL 语句对数据库进行增删改查,而是通过 DbContext 来进行相应操作。
叙述
DbContext类
DbContext类是实体框架的重要组成部分。它是您的域或实体类与数据库之间的桥梁。

以下是小编生成的excellentmcoinEntities类(派生DbContext的上下文类)的示例。
//------------------------------------------------------------------------------ //excellentmcoinEntities : DbContext { public excellentmcoinEntities() : base("name=excellentmcoinEntities") { } protected override void OnModelCreating(DbModelBuilder modelBuilder) { throw new UnintentionalCodeFirstException(); } public DbSet// 此代码是根据模板生成的。 // // 手动更改此文件可能会导致应用程序中发生异常行为。 // 如果重新生成代码,则将覆盖对此文件的手动更改。 // //------------------------------------------------------------------------------ namespace Model { using System; using System.Data.Entity; using System.Data.Entity.Infrastructure; public partial class excellentmcoinEntities : DbContext { public excellentmcoinEntities() : base("name=excellentmcoinEntities") { } protected override void OnModelCreating(DbModelBuilder modelBuilder) { throw new UnintentionalCodeFirstException(); } public DbSett_accumulate { get; set; } public DbSet t_addmcoinrecord { get; set; } public DbSet t_announce { get; set; } public DbSet t_attribute { get; set; } public DbSet t_attriuser { get; set; } public DbSet t_character { get; set; } public DbSet t_controller { get; set; } public DbSet t_dayget { get; set; } public DbSet t_department { get; set; } public DbSet t_departmentgrade { get; set; } public DbSet t_departquestype { get; set; } public DbSet t_grade { get; set; } public DbSet t_healthytips { get; set; } public DbSet t_mcoin { get; set; } public DbSet t_mcoindb { get; set; } public DbSet t_mcoindetail { get; set; } public DbSet t_pageset { get; set; } public DbSet t_quesfamily { get; set; } public DbSet t_quesfamilymemeber { get; set; } public DbSet t_question { get; set; } public DbSet t_questype { get; set; } public DbSet t_stageconfluence { get; set; } public DbSet t_states { get; set; } public DbSet t_suggesstion { get; set; } public DbSet t_type { get; set; } public DbSet t_user { get; set; } public DbSet t_attributerecord { get; set; } public DbSet t_notice { get; set; } } } t_accumulate { get; set; } public DbSet t_addmcoinrecord { get; set; } public DbSet t_announce { get; set; } public DbSet t_attribute { get; set; } public DbSet t_attriuser { get; set; } public DbSet t_character { get; set; } public DbSet t_controller { get; set; } public DbSet t_dayget { get; set; } public DbSet t_department { get; set; } public DbSet t_departmentgrade { get; set; } public DbSet t_departquestype { get; set; } public DbSet t_grade { get; set; } public DbSet t_healthytips { get; set; } public DbSet t_mcoin { get; set; } public DbSet t_mcoindb { get; set; } public DbSet t_mcoindetail { get; set; } public DbSet t_pageset { get; set; } public DbSet t_quesfamily { get; set; } public DbSet t_quesfamilymemeber { get; set; } public DbSet t_question { get; set; } public DbSet t_questype { get; set; } public DbSet t_stageconfluence { get; set; } public DbSet t_states { get; set; } public DbSet t_suggesstion { get; set; } public DbSet t_type { get; set; } public DbSet t_user { get; set; } public DbSet t_attributerecord { get; set; } public DbSet t_notice { get; set; } } }
上下文类(excellentmcoinEntities)包含所有实体的DbSet
类型的实体集。
DbContext具体使用
增
excellentmcoinEntities db = new excellentmcoinEntities(); //创建对象实体,注意,这里需要对所有属性进行赋值(除了自动增长主键外),如果不赋值,则会数据库中会被设置为NULL(注意是否可空) var user = new User { Name = "bomo", Age = 21, Gender = "male" }; db.User.Add(user); db.SaveChanges();
删
public bool deleteUser(string UserID) { excellentmcoinEntities dbcontext = new excellentmcoinEntities(); try { string[] testUserID = UserID.Split(','); for (int i = 0; i < testUserID.Length; i++) { t_user usermodel = dbcontext.t_user.Find(testUserID[i]); dbcontext.t_user.Remove(usermodel); int flag = dbcontext.SaveChanges(); if (flag > 0) { continue; } else { return false; } } return true; } catch (Exception) { throw new Exception("删除失败"); } }
改
public bool EditUser(t_user usermodel) { excellentmcoinEntities dbcontext = new excellentmcoinEntities(); try { t_user user = dbcontext.t_user.Find(usermodel.userID); if (user == null) { return false; } user.userName = usermodel.userName; user.levelID = usermodel.levelID; user.state = usermodel.state; user.passWord = usermodel.passWord; //修改多个字段值 dbcontext.Entry
(user).State = System.Data.EntityState.Modified; dbcontext.SaveChanges(); return true; } catch (Exception) { throw new Exception("用户修改失败"); } }
查
public List
QueryAUser() { //定义了上下文实体 excellentmcoinEntities dbcontext = new excellentmcoinEntities(); var allUser = (from u in dbcontext.t_user join g in dbcontext.t_grade on u.gradeID equals g.gradeID orderby u.totalMcoin descending select new userModel() { userID = u.userID, userName = u.userName, userGrade = g.userGrade, totalMcoin = u.totalMcoin, gradeID = g.gradeID, }).ToList(); return allUser; }
