CodeFirst de C # EF básicamente usa adiciones, eliminaciones, cambios y verificación, súper simple y adecuado para principiantes

Uso básico súper simple de EF adecuado para principiantes

1. Primero, una vez diseñada la base de datos, cree entidades y genere clases de ayuda contextual a través de Codefirst

Usar código primero
VS generará automáticamente los siguientes archivos (entidades de base de datos y ayuda contextual)

Entidades y generación de clases de ayuda de contexto
2. Escriba el método de uso básico en la capa BLL (puede escribir el método directamente en el controlador después de que sea competente).
Preste atención a la necesidad de usar la
consulta genérica (visualización) y agregar métodos,
Cómo consultar y agregar
eliminar y modificar métodos
En el método de eliminación y modificación.
** **** Preste atención a las adiciones, eliminaciones y modificaciones Asegúrese de SaveChanges () después del método; parte del
código se
muestra a continuación 内联代码片.

//实例化上下文帮助类
MyContext db = new MyContext();

//查询
public DbSet<T> Query()
        {
    
    
            return db.Set<T>();
        }

//新增
 public int Insert(T t)
        {
    
    
             db.Set<T>().Add(t);
            return db.SaveChanges();
        }
        
//删除
 public int Delete(int id)
 {
    
    
     //先找到数据
    var obj= db.Set<T>().Find(id);
     //进行删除
     db.Set<T>().Remove(obj);
     return db.SaveChanges();
 }

//修改
public int Edit(T t)
{
    
    
    db.Set<T>().Attach(t);
    db.Entry<T>(t).State = EntityState.Modified;
    return db.SaveChanges();
}


Después de escribir el método básico, llame al método en el controlador. En
tercer lugar, el controlador llama al método

Codificar directamente

Muestre algunos a continuación 内联代码片.

//实例化
        StoreCarBLL<StoreInfo> Store = new StoreCarBLL<StoreInfo>();
        StoreCarBLL<CarInfo> Car = new StoreCarBLL<CarInfo>();

//分页显示数据

注:返回类型为IHttpActionResult 代表可以返回任意类型 
        [Route("api/showCar")]
        [HttpGet]
        public IHttpActionResult ShowCar(int PageIndex,int PageSize )
        {
    
    
	//如果只是单纯的查询显示 无条件,不分页 下面的这一句话即可
            var list = Car.Query().ToList();
            **********分割  以下为分页数据************
            //计算开始页码
            int Start = (PageIndex - 1) * PageSize;
            //查询所有汽车 分页 按CId排序(必须有排序) 
            var list = Car.Query().OrderBy(x=>x.CId).Skip(Start).Take(PageSize).ToList();
            //所有总数据量
            int PageCount = Car.Query().Count();         
            return  Ok(new {
    
     list , PageCount });
        }
//多表联查写法
//属于 1公司的汽车 多表联查
        var list = (from a in db.StoreInfo
         join b in db.CarInfo on a.SId equals b.StoreId
         select new {
    
     a.CompanyName,b.CarName }).ToList();

注:查询显示的写法有很多种 可以网上自己查找资料


/// <summary>
        /// 新增汽车
        /// </summary>
        /// <param name="c"></param>
        /// <returns></returns>
        [Route("api/addCar")]
        [HttpPost]
        public IHttpActionResult AddCar(CarInfo c)
        {
    
    
            return Ok(Car.Insert(c));
        }

 /// <summary>
        /// 删除汽车
        /// </summary>
        /// <param name="cd"></param>
        /// <returns></returns>
        [Route("api/RemoveCar")]
        [HttpGet]
        public IHttpActionResult DelCar(int cd )
        {
    
    
            return Ok(Car.Delete(cd) );
        }
        
/// <summary>
        /// 反填数据(修改的时候)
        /// </summary>
        /// <param name="cid"></param>
        /// <returns></returns>
        [Route("api/fanCar")]
        [HttpGet]
        public IHttpActionResult FanCar(int cid)
        {
    
    
            return Ok(Car.Query().Find(cid));
        }

 /// <summary>
        /// 修改(编辑)
        /// </summary>
        /// <param name="c"></param>
        /// <returns></returns>
        [Route("api/editCar")]
        [HttpPost]
        public IHttpActionResult EditCar(CarInfo c)
        {
    
    
            return Ok(Car.Edit(c));
        }

		*********以上基本的增删改查**********
  /// <summary>
        /// 状态流转
        /// </summary>
        /// <param name="cid"> Id</param>
        /// <param name="CarState">状态字段</param>
        /// <returns></returns>
        [Route("api/ChangeState")]
        [HttpGet]
        public int ChangeState(int cid, int CarState)
        {
    
    
            //通过id找到数据
            var obj = Car.Query().Find(cid);
            //更新状态值
            obj.CarState = CarState;
            //执行修改保存,将状态保存至数据库更新数据
            return Car.Edit(obj);
        }

/// <summary>
        /// 导出数据 Excel表格
        /// </summary>
        [Route("api/DaoChu")]
        [HttpGet]
        public void ToExcel()
        {
    
    
            //获取数据
            var list = Car.Query();
            //转json字符串
            var json = JsonConvert.SerializeObject(list);
            //转 datatable类型 
            DataTable dt = new DataTable();
            dt = JsonConvert.DeserializeObject<DataTable>(json);
            //导出 ExcelHelper为封装好的帮助类 
            ExcelHelper.ExportByWeb(dt,"汽车产品","汽车.xls");
        }

	*********************以上后台基本完成***********************************

  
  

La recepción es simplemente html + js. Si lo
necesita, puede echar un vistazo. Código de
visualización de la tienda Pantalla del coche con paginación del código del coche dirección de control de paginación: http://www.jq22.com/jquery-info21889 agregar eliminar modificar estado código
Mostrar tienda
Tienda

Pantalla de localización de automóviles

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Exportar
Algunos de ellos se muestran a continuación 内联代码片.

function toExcel() {
    
    
        location.href = "http://localhost:57536/api/DaoChu";
    }

¡Se completó una simple adición, eliminación, modificación y verificación de EF! ! !

Supongo que te gusta

Origin blog.csdn.net/d1332508051/article/details/107303793
Recomendado
Clasificación