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名称等等。