Entity Framework使用DBContext实现增删改查
发布时间:2023-02-17 10:15:06 所属栏目:asp.Net 来源:互联网
导读:1. 不要Code first, 也不要DB first 我为什么讨厌Code first和DB first呢?首先Code first是先写代码,数据库完全由代码生成,开发阶段尚可,一旦到了产品发布阶段,如果需要添加字段,我们总不能用 visual studio去生产环境上去更新数据库吧,听起来就很可
context.SaveChanges(); } } public static Destination Query(int destId) { using (var context = new BreakAwayContext(ConfigurationManager.ConnectionStrings["BAContext"].ConnectionString)) { IQueryable<Destination> dest = context.Destinations.Where(a => a.DestinationId == destId); return dest.Single(); } } 4. 如果需要多个操作同时成功或者失败,需要手动开启事务,具体代码如下, public static void TransactionOps() { using (var context = new BreakAwayContext(ConfigurationManager.ConnectionStrings["BAContext"].ConnectionString)) { using (var dbContextTransaction = context.Database.BeginTransaction()) { try { var destination = new Destination { Country = "Chs", Description = "Chs is the language package", Name = "xs2s" }; var destId = context.Destinations.Add(destination); context.SaveChanges(); context.Destinations.Attach(destId); context.Destinations.Remove(destId); context.SaveChanges(); dbContextTransaction.Commit(); } catch (System.Exception ex) { dbContextTransaction.Rollback(); System.Console.WriteLine(ex.ToString()); } } } } 5. 分页查询是网站设计的常用功能,一个简单的真分页查询方法如下如下所示, public static List<Destination> QueryPaging<TKey>(int pageIndex, int pageSize, Expression<Func<Destination, bool>> whereLambda, Expression<Func<Destination, TKey>> orderBy) { using (var context = new BreakAwayContext(ConfigurationManager.ConnectionStrings["BAContext"].ConnectionString)) { return context.Destinations.Where(whereLambda).OrderBy(orderBy).Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList(); } } (编辑:莱芜站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- asp.net-mvc-3 – MVC3非顺序索引和DefaultModel
- 受asp.net MVC启发的更好的WebForms
- asp.net – App Settings和connectionStrings配置
- asp.net-mvc – 使用没有ORM的ASP.NET MVC
- asp.net – 什么时候Response.IsClientConnected
- .Net Core和RabbitMQ限制循环消费的方法
- asp.net – ResolveUrl / Url.Content在Classic
- Asp.net mvc验证用户登录之Forms实现详解
- asp.net-mvc – 在ASP.NET身份中角色与声明的最佳
- asp.net-mvc – 如何在ASP.NET MVC中生成弹出页面
热点阅读