跟踪查询
  返回实体类型的查询是默认会被跟踪的。 这表示可以更改这些实体实例,然后通过 SaveChanges() 持久化这些更改。
非跟踪查询
  在只读方案中使用结果时,非跟踪查询十分有用。 可以更快速地执行非跟踪查询,因为无需设置更改跟踪信息。 如果不需要更新从数据库中检索到的实体,则应使用非跟踪查询。 可以将单个查询替换为非跟踪查询。

具体详情可查看微软官方跟踪与非跟踪查询

实体状态由EntityState枚举定义:Detached(未跟踪)、Unchanged(未改变)、Added(已添加)、Deleted(已删除)、Modified(已修改)

using System.Threading.Tasks;
using Core.Web.Models;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore; namespace Core.Web.Controllers
{
public class RegionController : Controller
{
private readonly DataContext _dataContext;
public RegionController(DataContext dataContext)
{
_dataContext = dataContext;
}
//非跟踪查询
public async Task<IActionResult> Index()
{
var regions = await _dataContext.Region.AsNoTracking().ToListAsync();
return View(regions);
}
//非跟踪增加
public async Task<bool> Add(Region region)
{
region.RegionID = 11;
region.RegionDescription = "青岛";
_dataContext.Entry(region).State = EntityState.Added;
int res = await _dataContext.SaveChangesAsync();
return res > 0;
}
//非跟踪修改
public async Task<bool> Edit(Region region)
{
region.RegionID = 11;
region.RegionDescription = "菏泽";
_dataContext.Entry(region).State = EntityState.Modified;
int res = await _dataContext.SaveChangesAsync();
return res > 0;
}
//非跟踪删除
public async Task<bool> Del(Region region)
{
region.RegionID = 11;
_dataContext.Entry(region).State = EntityState.Deleted;
int res = await _dataContext.SaveChangesAsync();
return res > 0;
}
}
}

最新文章

  1. EntityFrame CodeFirst 自动生成表
  2. 在Myeclipse中将maven程序部署到tomcat中
  3. html实体字符
  4. VB.NET中使用Linq TO SQL添加数据后获得自增长列ID
  5. 去掉代码中自动生成的TODO Auto-generated method stub
  6. [LOJ 1030] Discovering Gold
  7. python——os模块操作文件
  8. SQL SERVER中如何格式化日期
  9. centos7 在 vmware下的安装与配置
  10. ReportView动态加载带参数的RDCL文件及子报表
  11. Sparklyr与Docker的推荐系统实战
  12. centos7编译安装nginx
  13. Activity的task任务栈
  14. sql prompt 缩写 快捷键
  15. LeetCode算法题-Contains Duplicate(Java实现)
  16. [Shell]获取IP地址
  17. LeetCode Permutations问题详解
  18. ViewPager 源码分析(一) —— setAdapter() 与 populate()
  19. 初试WebSocket构建聊天程序
  20. 全局修改composer源地址

热门文章

  1. shell脚本(14)-正则表达式
  2. MongoDB 批量插入和循环插入性能测试
  3. OpenStack镜像制作笔记 --以windows8.1-amd64为例
  4. Git 使用revert回滚已提交的commit
  5. solr7.4.0+mysql+solrj(简而优美)
  6. Shell-10-标准输入输出错误
  7. 服务启动shell脚本
  8. 【XSS-labs】level 16-20
  9. AWD比赛组织指南
  10. 攻防世界PWN简单题 level0