【ASP.NET MVC 学习笔记】- 07 使用 Entity Framework
2017-02-10 13:54
671 查看
本文参考:https://www.geek-share.com/detail/2589554060.html
1、ORM(Object Relation Mapping)工具,是为了解决“关系数据库”和“面向对象语言”之间的“失配”,使得开发人员不用过多关心持久层而可以花更多的时间专注于业务。
2、Entity Framework(EF)是微软以ADO.NET为基础所发展出来的ORM解决方案,以Entity Data Model(EDM) 为主。利用了抽象化数据结构的方式,将每个数据库对象都转换成应用程序中的类对象(Entity),而数据字段都转换为属性 (Property),关系则转换为结合属性 (Association),让数据库的 E/R 模型完全的转成对象模型。
3、在ASP.NET MVC中使用EF的步骤:创建一个继承自System.Data.Entity.DbContext的类,这个类将为数据库中的每个表定义一个属性,属性的名称代表数据库中的表名。DbSet作为返回类型,它是用于生成CRUD(Create、Read、Update和Delete)操作的装置,映射数据库表的行。示例:
public class EFDbContext : DbContext { public DbSet<Book> Books { get; set; } }
4、改造仓储类:
public class BookRepository : IBookRepository { private EFDbContext context = new EFDbContext();
//IQueryable可替换为IEnumerable public IQueryable<Book> Books { get { return context.Books; } } }
5、展示数据:
public ViewResult List() { return View(repository.Books.OrderBy(b => b.Price).Where(b => b.Price < 100).Take(10)); }
6、IQueryable 和 IEnumerable的区别:使用IQueryable,EF先根据Linq生成相应的sql语句再执行查询;使用IEnumerable,EF直接生成sql(不包含任何过滤、排序等),它一次性把数据都取出来在内存中进行过滤、排序等操作。因此IQueryable的性能比IEnumerable差,但是IEnumerable比较吃内存,在数据量较大的时候不宜使用。
相关文章推荐
- 【原创】Asp.Net MVC学习笔记之-使用AcceptVerbs标签来制定Action的响应行为
- 【ASP.NET MVC 学习笔记】- 06 在MVC中使用Ninject
- 【Pro ASP.NET MVC 3 Framework】.学习笔记.4.MVC的主要工具-使用Moq
- 【ASP.NET MVC 学习笔记】- 09 Area的使用
- ASP.NET MVC学习笔记-----使用自定义的View Engine
- ASP.NET_MVC使用Spring.Net.MVC依赖注入学习笔记
- 【原创】Asp.Net MVC 学习笔记之-使用Model验证
- <转>ASP.NET学习笔记之在ASP.NET MVC中使用DropDownList
- 【原创】Asp.net MVC 学习笔记之-为什么使用Html.TextBox方法会出现异常?
- 【学习】Asp.net MVC 学习笔记之-使用MVC中的AJAX
- Asp.Net Ajax 学习笔记15 如何使用ASP.NET Profile
- ASP.NET MVC学习笔记一
- Asp.Net Ajax 学习笔记3 UpdatePanel的使用(上)
- 学习笔记:asp.net中使用跟踪(trace)
- ASP.NET MVC Preview 4 学习笔记 Membership Authorization
- ASP.NET学习笔记[1] - iis不能使用的问题解决
- Asp.net Ajax 学习笔记5 UpdatePanel的使用(下)
- ASP.NET MVC 1.0学习笔记
- Asp.net学习笔记----使用GridView+ObjectDataSource进行自定义分页排序
- Asp.net MVC学习笔记1