博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
EntityFramework6学习总结4(上下文、延迟查询)
阅读量:2165 次
发布时间:2019-05-01

本文共 1721 字,大约阅读时间需要 5 分钟。

dbContext是一个上下文环境,里面内置对象跟踪,会开启数据库链接。

 

实例1:

public static void Show()        {            using (NewsDbContext dbContext = new NewsDbContext())            {                //打印sql信息                dbContext.Database.Log += c => Console.WriteLine($"sql:{c}");                News news = new News()                {                    NewsClassifyId = 3,                    Title = "621",                    Image = null,                    Contents = "621测试信息",                    PublishDate = DateTime.Now,                    Remark = "621备注"                };                dbContext.News.Add(news);                News news1 = dbContext.News.FirstOrDefault(n => n.Id == 2);                news1.Title += "1";                News news2 = dbContext.News.FirstOrDefault(n => n.Id == 6);                news2.Title += "2";                News news3 = dbContext.Set
().Find(50); dbContext.News.Remove(news3); dbContext.SaveChanges(); } }

上面代码中包含对数据的新增,修改,删除操作。

dbContext.SaveChanges(); 多个数据修改,一次SaveChanges,开启事物,任何一个失败,整个事物回滚。

 

实例2:

public static void Show()        {            using (NewsDbContext dbContext = new NewsDbContext())            {                //打印sql信息                dbContext.Database.Log += c => Console.WriteLine($"sql:{c}");                var list = dbContext.Set
().Where(n => n.Id > 10); list = list.OrderBy(n => n.Id); //到这里为止,不会去数据库执行sql //开始遍历数据时才去数据库查询 foreach (var item in list) { Console.WriteLine(item.Title); } } }

在写LINQ查询语句时,并不会去数据库执行sql,而是当数据开始遍历时才会去数据库执行sql。

延迟查询,可以叠加多次查询条件,一次性提交到数据库,按需获取数据。

 

 

转载地址:http://fijzb.baihongyu.com/

你可能感兴趣的文章
浅谈 GBDT
查看>>
如何选择优化器 optimizer
查看>>
一文了解强化学习
查看>>
CART 分类与回归树
查看>>
seq2seq 的 keras 实现
查看>>
seq2seq 入门
查看>>
什么是 Dropout
查看>>
用 LSTM 做时间序列预测的一个小例子
查看>>
用 LSTM 来做一个分类小问题
查看>>
详解 LSTM
查看>>
按时间轴简述九大卷积神经网络
查看>>
详解循环神经网络(Recurrent Neural Network)
查看>>
为什么要用交叉验证
查看>>
用学习曲线 learning curve 来判别过拟合问题
查看>>
用验证曲线 validation curve 选择超参数
查看>>
用 Grid Search 对 SVM 进行调参
查看>>
用 Pipeline 将训练集参数重复应用到测试集
查看>>
PCA 的数学原理和可视化效果
查看>>
机器学习中常用评估指标汇总
查看>>
什么是 ROC AUC
查看>>