zoukankan      html  css  js  c++  java
  • What is Entity Framework?

    1.什么是EntityFramework?

    http://www.entityframeworktutorial.net/what-is-entityframework.aspx

    Writing and managing ADO.Net code for data access is a tedious乏味 and monotonous单调 job.

    Microsoft has provided an O/RM[object relational mapping]对象关系映射 framework called "Entity Framework" to automate自动化 database related activities活动 for your application.

    Microsoft has given the following definition of Entity Framework:

    The Microsoft ADO.NET Entity Framework is an Object/Relational Mapping (ORM) framework that enables developers to work with relational data as domain-specific objects, eliminating消除 the need for most of the data access plumbing code that developers usually need to write. Using the Entity Framework, developers issue queries using LINQ, then retrieve and manipulate data as strongly typed objects. The Entity Framework's ORM implementation provides services like change tracking, identity resolution, lazy loading, and query translation so that developers can focus on their application-specific business logic rather than the data access fundamentals.

    Entity framework is an Object/Relational Mapping (O/RM) framework.

    It is an enhancement to ADO.NET that gives developers an automated mechanism for accessing & storing the data in the database.

    Entity framework is useful in three scenarios.

    First, if you already have existing database or you want to design your database ahead of other parts of the application.

    Second, you want to focus on your domain classes and then create the database from your domain classes.

    Third, you want to design your database schema on the visual designer and then create the database and classes.

    The following figure illustrates the above scenarios.

    As per the above figure, EF creates data access classes for your existing database, so that you can use these classes to interact with the database instead of ADO.Net directly.

    EF can also create the database from your domain classes, thus you can focus on your domain-driven design.

    EF provides you a model designer where you can design your DB model and then EF creates database and classes based on your DB model.

    What is O/RM?

    ORM is a tool for storing data from domain objects to relational database like MS SQL Server, in an automated way, without much programming.

    O/RM includes three main parts: Domain class objects, Relational database objects and Mapping information on how domain objects map to relational database objects (tables, views & storedprocedures).

    ORM allows us to keep our database design separate from our domain class design.

    This makes the application maintainable and extendable.

    It also automates standard CRUD operation (Create, Read, Update & Delete) so that the developer doesn't need to write it manually.

    A typical ORM tool generates classes for the database interaction for your application as shown below.

    Visit wikipedia for more information on Object-relational Mapping

    There are many ORM frameworks for .net in the market such as DataObjects.Net, NHibernate, OpenAccess, SubSonic etc.

    Entity Framework is an open source ORM framework from Microsoft.

    Please note that Entity Framework is an open source framework by Microsoft.

    You can contribute to the Entity Framework project oncodeplex.

    目前最新的EntityFramework托管在github上,https://github.com/aspnet/EntityFramework

  • 相关阅读:
    自主开发与带兵打仗
    外包项目的内外部管理
    服务器运维工程师岗位要求
    “互联网+”下, 经销商价值再思考
    外包软件项目管理要抓住关键点
    软件外包项目管理的经验感悟
    关于软件外包项目管理的想法
    九型人格判定
    好的学习材料
    前端学习的好去处
  • 原文地址:https://www.cnblogs.com/chucklu/p/4309632.html
Copyright © 2011-2022 走看看