【EF框架】DbContext的使用

【EF框架】DbContext的使用DbContext 类是 EntityFramew 简称 EF 中的一个类 可以理解为一个数据库对象的实例 在 EF 中 无需手动的拼接 SQL 语句对数据库进行增删改查 而是通过 DbContext 来进行相应操作

前言

  DbContext类是EntityFramework (简称 EF)中的一个类,可以理解为一个数据库对象的实例。在 EF中,无需手动的拼接 SQL 语句对数据库进行增删改查,而是通过 DbContext 来进行相应操作。

叙述

DbContext类

  DbContext类是实体框架的重要组成部分。它是您的域或实体类与数据库之间的桥梁。

【EF框架】DbContext的使用

以下是小编生成的excellentmcoinEntities类(派生DbContext的上下文类)的示例。

//------------------------------------------------------------------------------ // 
  
    // 此代码是根据模板生成的。 // // 手动更改此文件可能会导致应用程序中发生异常行为。 // 如果重新生成代码,则将覆盖对此文件的手动更改。 // 
   //------------------------------------------------------------------------------ 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 DbSet 
  
    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 : DbContext { public excellentmcoinEntities() : base("name=excellentmcoinEntities") { } protected override void OnModelCreating(DbModelBuilder modelBuilder) { throw new UnintentionalCodeFirstException(); } public DbSet 
 
   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; } 
  

小结

    DbContext通常与包含模型的根实体的

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/220270.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午8:52
下一篇 2026年3月17日 下午8:52


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号