前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Entity Framework快速入门--ModelFirst

Entity Framework快速入门--ModelFirst

作者头像
老马
发布2022-05-10 15:57:04
3680
发布2022-05-10 15:57:04
举报
文章被收录于专栏:老马寒门IT

Entity Framework带给我们的不仅仅是操作上的方便,而且使用上也很是考虑了用户的友好交互,EF4.0与vs2010的完美融合也是我们选择它的一个理由吧。相比Nhibernate微软这方面做的的确是很不错。

下面我将使用CodeFirst方式来做个简单是实际例子与大家分享。

我们还是和 前面的文章 Entity Framework快速入门--实例篇一样,创建一个控制台项目。

第一步:创建控制台项目

第二步:在项目上右击添加Ado.Net 实体数据模型

如图所示:

第三步: 选择生成实体的方式 "空模型"

如图所示:

第四步:添加EF实体

从工具栏中拖一个实体到edmx设计器中,并命名为Student,然后在属性页中修改此实体的实体集名称为Student,并添加两个标量属性Name,Age【复杂属性,和导航属性在后面的文章我会介绍】如下图所示:

第五步:根据模型生成数据库

注意是在edmx空白处右击,选择根据模型生成数据库,并选择我们要创建的数据库连接。如下图所示:

然后点击确定,点击下一步→完成后,弹出我们生成的根据模型生成的sql,在生成的sql页面里右击执行sql,如下图所示:

查看数据库中已经帮我们创建好了SchoolDB和表Student,如下图所示:

这个很是欣喜吧,这个自动化工具的确非常省事,很喜欢微软提供的这样傻瓜式的操作。

第六步:使用EF帮我们插入一条数据

首先看一下,EF帮我们自动生成的代码:主要是数据库访问网关和实体类Student,如下图所示:

然后添加如下代码,并执行

代码语言:javascript
复制
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace EFCodeFirst
{
    class Program
    {
        static void Main(string[] args)
        {
            using(SchoolContainer schoolEntities = new SchoolContainer())
            {
                //创建student实例
                Student stu = new Student { Age = 23,Name = "Flydragon"};
                //将上面的实例放入网关对应的实体集合
                schoolEntities.Student.AddObject(stu);
                //持久化到硬盘
                schoolEntities.SaveChanges();
            }
            Console.WriteLine("OK");
        }
    }

程序运行成功。查看数据库:

结果执行正确。

好我们总结一下,首先我上来就添加一个实体模型,然后在上面添加一个实体类,并根据模型生成sql而直接生成数据库,然后直接使用ef帮我们生成的ObjectContext和数据库实体Student就可以直接操作数据库的表了。这也是CodeFirst编程方式的比较吸引人的地方吧。

微软能够做的如此方便易用,的确很令人佩服!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2011-02-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档