整理一下目前在用的EFCore

记得好像是因为懒得写sql,于是开始试着用EF

先根据数据库生成一个好东西,嗯

Scaffold-DbContext "Data Source=localhost;Initial Catalog=dbname;Persist Security Info=True;User ID=admin;Password=admin;Pooling=true;Max Pool Size=512; Min Pool Size=5;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

没有sql语句美滋滋

         #region 添加
/// <summary>
/// Add
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
[HttpPost("Add")]
public IActionResult Add([FromBody] T obj)
{
try
{
_context.T.Add(obj);
var result = _context.SaveChanges().ToString(); responseData.Status = ;
responseData.Data = result;
responseData.Message = "Success";
}
catch (Exception ex)
{
responseData.Status = ;
responseData.Message = ex.Message;
return new JsonResult(responseData);
} return new JsonResult(responseData);
}
#endregion

一时不用一时爽

         #region 删除
//删除
[HttpDelete("Delete")]
public IActionResult Delete([FromBody] T obj)
{
try
{
var Test = new T { Id = obj.Id };
_context.T.Remove(Test);
var result = _context.SaveChanges().ToString(); responseData.Status = ;
responseData.Data = result;
responseData.Message = "Success";
}
catch (Exception ex)
{
responseData.Status = ;
responseData.Message = ex.Message;
return new JsonResult(responseData);
} return new JsonResult(responseData);
}
#endregion

一直不用一直爽

         #region 修改
//修改
[HttpPut("Modify")]
public IActionResult Modify([FromBody] T obj)
{
try
{
int result = -;
T t = _context.T.SingleOrDefault(u => u.Id == obj.Id); if (t != null)
{
t = obj; result = _context.SaveChanges();
} responseData.Status = ;
responseData.Data = result;
responseData.Message = "Success";
}
catch (Exception ex)
{
responseData.Status = ;
responseData.Message = ex.Message;
return new JsonResult(responseData);
} return new JsonResult(responseData);
}
#endregion

那么问题来了,想sql了怎么办?

能用Sql,但是不推荐;原因有机会了再补充

         #region EFSql
//Select
[HttpGet("Query")]
public IActionResult Query()
{
try
{
string sql = "select * from bula bula bula"; var result = _context.Set<Model>().FromSql(sql).ToList(); if (result.Count() == )
{
responseData.Status = ;
responseData.Message = "数据为空"; return new JsonResult(responseData);
} responseData.Status = ;
responseData.Data = result;
responseData.Message = "Success";
}
catch (Exception ex)
{
responseData.Status = ;
responseData.Message = ex.Message;
return new JsonResult(responseData);
}
return new JsonResult(responseData);
}
#endregion

Re0:在 .NetCore中 EF的基本使用的更多相关文章

  1. Re0:在.NetCore 中Dapper的基本用法

    整理一下目前在用的Dapper 与FrameWork不同,NetCore数据库配置需要从appsettings.json中获取 刚接触的时候被这块坑了,自己手动建了个app.config.然后你懂的( ...

  2. .NetCore中EFCore的使用整理

    EntirtyFramework框架是一个轻量级的可扩展版本的流行实体框架数据访问技术. 其中的.NetCore版本对应EntityFrameworkCore Git源代码地址:https://git ...

  3. .NetCore中EFCore的使用整理(二)-关联表查询

    EF常用处理关联加载的方式有3中:延迟加载(Lazy Loading).贪婪加载 (Eager Loading)以及显示加载. 一.EF Core  1.1 1.当前的版本,还不支持延迟加载(Lazy ...

  4. .NetCore中EFCore for MySql整理(三)之Pomelo.EntityFrameworkCore.MySql

    一.Pomelo.EntityFrameworkCore.MySql简介 Git源代码地址:https://github.com/PomeloFoundation/Pomelo.EntityFrame ...

  5. .NetCore中EFCore for MySql整理(二)

    一.简介 EF Core for MySql的官方版本MySql.Data.EntityFrameworkCore 目前正是版已经可用当前版本v6.10,对于以前的预览版参考:http://www.c ...

  6. .NetCore中EFCore的使用整理(三)-关联表操作

    一.查询关联表数据 StudyAboard_TestContext _context = new StudyAboard_TestContext(); CrmRole role = _context. ...

  7. .NetCore中的日志(2)集成第三方日志工具

    .NetCore中的日志(2)集成第三方日志工具 0x00 在.NetCore的Logging组件中集成NLog 上一篇讨论了.NetCore中日志框架的结构,这一篇讨论一下.NetCore的Logg ...

  8. .NetCore中的日志(1)日志组件解析

    .NetCore中的日志(1)日志组件解析 0x00 问题的产生 日志记录功能在开发中很常用,可以记录程序运行的细节,也可以记录用户的行为.在之前开发时我一般都是用自己写的小工具来记录日志,输出目标包 ...

  9. .NetCore之EF跳过的坑

    我在网上看到很多.netCore的信息,就动手自己写一个例子测试哈,但是想不到其中这么多坑: 1.首先.netCore和EF的安装就不用多说了,网上有很多的讲解可以跟着一步一步的下载和安装,但是需要注 ...

随机推荐

  1. ASP.NET MVC Liu_Cabbage 个人博客

    RightControl_Blog 介绍 前台使用燕十三博客前端模板,后台基于RightControl .NET通用角色权限管理系统搭建,已完成.项目地址:http://www.baocaige.to ...

  2. npm install命令

    1. --save-prod/-P 使用该命令后,会在package.json的dependencies中出现,是生产环境依赖: 该命令是默认命令. npm install react // 等同于 ...

  3. An Introduction to Laravel Policy

    An Introduction to Laravel Policy 30 Dec 2018 . Laravel. 7.6K views If you heard about Laravel Polic ...

  4. [Luogu] 线段树 2

    https://www.luogu.org/problemnew/show/P3373 双懒标记下放 先乘后加 #include <bits/stdc++.h> using namespa ...

  5. const char*p,char const*p,char *const p

    转自 http://blog.csdn.net/todd911/article/details/7911995 const char*, char const*, char*const的区别问题几乎是 ...

  6. 数据结构实验之二叉树五:层序遍历 (SDUT 3344)

    #include <bits/stdc++.h> using namespace std; struct node { char data; struct node *lc, *rc; } ...

  7. gitlab高可用模式

    高可用模式 企业版 社区版 我们这里说一下成本比较低的主备模式,它主要依赖的是DRBD方式进行数据同步,需要2台ALL IN ONE的GitLab服务器,也就是通过上面安装方式把所有组件都安装在一起的 ...

  8. C#连接数据库时connectionStrings配置

    <connectionStrings> <add name="ConnectionStringName" connectionString="Data ...

  9. Prometheus HA详解

    Prometheus 横向扩展 当Exporter或者采集信息需要越来越多时就会考虑高可用,高可用优点不会因为集群中某个节点down而导致Prometheus不可用,可以让算力下沉; 缺点是A-Pro ...

  10. white-space 标签 使用

    white-space MSD定义为: 是用来设置如何处理元素中的空白 其使用场景有很多,比如:横向滑动,超出显示省略号,输出空格显示空格等 1.横向滑动 在写手机页面的过程中,我想大部分人都遇到横向 ...