码迷,mamicode.com
首页 > 数据库 > 详细

EF学习和使用(一)Database First

时间:2015-07-28 18:40:11      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:entity-framework   dbfirst   ef   

上篇博客中介绍了ORM思想,可以说ORM思想在数据交互方面给我们带来了一次变革。他能够自动实现Entity实体的属性与关系型数据库字段的映射,增删改查的sql脚本由ORM来自动生成,使我们编码时不用考虑数据库数据结构,而是以操作实体对象的形式来完成与数据库的交互。与传统开发方式相比ORM可以使我们编写更少的代码来创建和维护应用程序。不得不说ORM这种思想的确优雅。


实现ORM思想的框架有很多,有重型的 Hibernate,EF,Nhibernate,微型的dapper,Fetalpoco等, 两类框架各有千秋,需要按照系统情况进行选择。重型的ORM框架适合与企业内部系统,使用人数最好一万以内。如果是互联网系统则应该选择微型的ORM框架。


ITOO .net版选用的是EntityFramework,对于EF已经学习和使用过一段时间了,现在来对EF做个系列的总结。
Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案,EF4.1之前EF支持“Database First”和“Model First”编程方式,从EF4.1开始EF开始支持支持“Code First”编程方式,今天咱们先从最简单的Database First开始说起,建立起咱们的第一个EF程序。


“Database First”模式顾名思义:“数据库优先”,使用这种模式的前提是应用程序已经拥有相应的数据库,咱们可以使用EF设计工具由数据库生成数据模型类,也可以使用Visual Studio模型设计器修改这些模型之间对应关系。


第一步

首先创建一个控制台应用程序,然后右键添加新建项,选择“ADO.NET 实体数据模型”,名称输入ModelTest:

技术分享


第二步

接着选择来“自数据库的EF设计器”即DataBaseFirst:

技术分享


第三步

选择新建连接并设置连接属性:

技术分享


第四步

然后选择刚才新建的连接

技术分享


第五步

然后选择要映射的“User”表,完成:

技术分享


创建完模型之后,你会发现Visual Studio自动为你生成了“User”实体类和一个“EFTestEntitiesContext”数据库上下文操作类:

技术分享


下面简单的看一下如何使用EF进行数据查询,查询可用两种方式,Linq和Lambda。

Code

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace EFDBFirst
{
    class Program
    {
        static void Main(string[] args)
        {
            //实例化数据库上下文
            EFTestEntities dbcontext = new EFTestEntities();

            //使用Lambda表达式查询数据
            var user = dbcontext.User.Where(o => o.Name == "qiumuxiaq141812").ToList();

            //Linq语句查询
            var user1 = from o in dbcontext.User
                        where o.Name == "qiumuxiaq141813"
                        select o;

            //打印查询结果  
            if (user.Any())
            {
                Console.WriteLine("Lambda方式:"+ user.First().Name + "----" + user.First().Sex);
                Console.WriteLine("Linq方式:" + user1.First().Name + "----" + user1.First().Sex);
            }

            Console.Read();
        }
    }
}

执行结果如下图:

技术分享




注意:如果咱们的数据库表结构发生改变后,只需在模型设计视图空白处右键,选择“从数据库更新模型”接着按照向导操作即可将模型更新。

版权声明:本文为博主原创文章,未经博主允许不得转载。

EF学习和使用(一)Database First

标签:entity-framework   dbfirst   ef   

原文地址:http://blog.csdn.net/u010028869/article/details/47108205

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!