开发者社区> 技术小胖子> 正文

Entity Framework 4-从模型创建数据库

简介:
+关注继续查看

本将介绍如何从实体模型来创建数据。需要的环境的是:VS2010 SP1+MS SQL2008

具体内容如下:

创建一个项目,然后在鼠标右键点击项目然后选择添加à新建项,在新建项目模板中选择“ADO.Net实体数据模型”,如下图所示。

 

然后,在模型类型选择是,选择“空模型”。接着,打开空模型,然后鼠标右键添加à实体。添加一个名为Member实体。如下图所示。

 

需要注意的是,“实体集”默认的名称是:Member集, 当然为了方便还是改成英文的Members,(当然如果喜欢中文编程,不改也没问题)。然后,添加相关的属性。如下图所示。

 

 

其中,需要注意的是,各个属性有个名称为:StoreGeneratedPattern的属性。它表示一个枚举,它指定三个选项,用于指示存储架构定义语言 (SSDL) (.ssdl) 中的列在插入和更新操作期间是否需要值。其值可以是以下几种:

 

1.         None 一个值,指示该属性不是服务器生成的属性。这是默认值。

2.         Identity 插入时生成一个值,更新时该值保持不变。

3.         Computed 插入和更新时生成一个值。

 

对于作为主键的属性,如果让数据自动生成相应的整型Id的话,那么可以设置成Identity。对于非主键的属性,则保持默认的none即可。

 

此外,在属性窗口,我们还可以设置属性长度、默认值等等。

 

设置完实体的各个属性之后,可以就可以使用根据我们设计的模型来生成相应的数据。如下图所示:

 

根据模型生成数据数据库,会先提示你连接数据,按照提示设置你的数据库即可。如果事先没有建立相应的数据库,也可以在设置连接时,提示你创建一个。设置完数据库连接后,就会生成相应的DDL,如下图所示:

 

然后,点击完成。之后,项目中就会添加了一个名称为ExampleModel.edmx.sql的文件,开打该文件,鼠标右键,先连接到你的数据库,然后再执行SQL,如下图所示:

 

执行SQL完成后,数据库中建立相应的Member表。接着,我们就可以编写相应的数据库访问代码了。如下所示:

  using (var db = new ExampleModelContainer())

            {

                Member m = new Member() { Age = 123, Email = "123@mail.com", Name = "xray2005", PassWord = "123" };

                db.Members.AddObject(m);

                db.SaveChanges();

            }

至此,从使用设计工具从模型创建数据库的操作完毕。

    需要明白的是:实体对应的数据库的表,实体属性对应的数据库表中列。在使用设计工具设计模型,我们可以很方便的设置实体名(表名)、属性信息(列的信息)、以及代码的名空间、数据库Schema名称等等。

 



    本文转自风车车  博客园博客,原文链接:http://www.cnblogs.com/xray2005/archive/2011/06/23/2088527.html,如需转载请自行联系原作者



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Framework的创建与合并
由于.a不能单独使用,必须要配合.h头文件,而且没有包含资源文件,所以用.framework就是更好的选择了。 iOS 8有了新的方式创建Framework,不过创建的framework是embedded framework,不能兼容iOS 8以下的版本,所以在现阶段要兼容iOS 7和iOS 8的话,还是只能用以前的方式来创建。
687 0
我也来说说Entity Frame Work 4中的数据库优先和代码优先两种方式(2)
上次谈了下使用EF的“数据库优先”方式创建一个ORM, 今天来接着聊“代码优先”的方式创建一个ORM; 从字面上理解,数据库优先是先创建数据库,代码优先那就肯定是先写代码了,所以,代码优先它是先写代码的,也就是它与数据库优先恰恰相反。
739 0
我也来说说Entity Frame Work 4中的数据库优先和代码优先两种方式(1)
在 Entity Frame Work (后面直接简称其为EF) 中,支持两种方式创建,一种是数据库优先,另外一种是代码优先; EF是微软推出的一个ORM框架,而在这之前,Java早就有非常成熟的ORM框架了,比如Hibernate(当然,人家也有.NET版本的,叫NHibernate,多了个N),我这次只谈EF,NHibernate下次有时间再讲;   先讲数据库优先吧,数据库优先指的是先创建数据库,包括表和字段的建立,然后根据数据库生成ORM的代码,它是先创建数据库,再创建相关程序代码; 下面,我来看看如何具体操作。
666 0
在Entity Framework中重用现有的数据库连接字符串
本文转载:http://www.cnblogs.com/dudu/archive/2011/01/29/entity_framework_connection_string.html 如果EF在使用实体模型时候,即model first 和db first 时候,则 Entity Framework使用的连接字符串与ADO.NET是不同的,见下图: 相比于ADO.NET,Entity Framework的连接字符串不仅要存放metadata配置信息,还要存放完整的数据库连接字符串(上图中的"provider connection string"部分)。
894 0
21117
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载