Entity Framework 4.1 EFCodeFirst 入门

1.安装EF 4.1

首先,需要下载最新的Entity Framework的4.1版本,下载地址:http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=8363

2.创建新的项目

安装Entity Framework4.1后,就可以在VS2010中使用了。

  • 打开Visual Studio 2010

  • 文件-->新建-->项目

  • 选择“Windows”-->“Windows窗体应用程序”

  • 项目名字为“EF”

  • 选择“确定”

2.创建新的实体类

新建一个代码文件,叫Model.cs。

我的代码只是起到一个介绍的作用,所以就以一个简单的例子开始(对于用户信息的增删改查操作)。

首先,我们定义一个实体类User

class User
{
publicstring UserName { get; set; }
publicstring Password { get; set; }
publicstring Sex { get; set; }
publicstring City { get; set; }
}

之后我们做一点限制,让UserName作为关键字,Password不能为空。为了完成前面的限制操作,我们要将Model.cs文件做如下修改:

  • 首先,要加上命名空间

using System.ComponentModel.DataAnnotations;
using System.Data.Entity;

  

 因为我们需要用到的主键和不为空的标记,都是来自于DataAnnotations命名空间的。

  • 然后,我们向实体类User中添加标记

class User
{
[Key] //标记UserName为主键
publicstring UserName { get; set; }

[Required] //标记Password不能为空
publicstring Password { get; set; }

publicstring Sex { get; set; }
publicstring City { get; set; }
}
  • 接着,我们还需要定义一个数据库对象,让EntityFramework知道我们程序里面哪些类是实体。

class UserDB:DbContext
{
   public DbSet<User> Users { get; set; }
}

 

DbContext对象提供了我们和数据库打交道的入口,至于建立数据库表、关系、结构,这些事情全部都不需要了,全部是幕后实现的。 

  • 最后,我们还需要进行一点配置,让EntityFrameWork知道我们用什么数据库服务器,以及在哪里建立数据库。如下图,新建一个配置文件。

在里面添加如下配置:

<configuration>
<connectionStrings>
<add
name
="UserDB"
providerName
="System.Data.SqlClient"
connectionString
="Server=.\SQLEXPRESS;Database=User_db;Trusted_Connection=true;"/>
</connectionStrings>
</configuration>

 name和定义的数据库类名一致,Server可以设置成自己的SQL Server服务器名,数据库名建议以程序名命名,在此我命名为User_db。

3.试运行

实现用户信息增删改的功能。

界面如下图:

  • 增加新用户

代码如下:

UserDB db =new UserDB();
User user1
=new User();
user1.UserName
= zxTEName.Text;
user1.Password
= zxTEPassword.Text;
user1.Sex
= zxTESex.Text;
user1.City
= zxTECity.Text;
db.Users.Add(user1);
db.SaveChanges();
GetUserView();

声明一个新的User实例,将界面上的值赋给这个实例,然后执行Add与SaveChanges方法就可以将信息Insert进数据库的相应表中。

  • 更改原有数据
代码如下:
UserDB db =new UserDB();
User user
= db.Users.SingleOrDefault(u => u.UserName == zxTEName.Text);
if (user !=null)
{
user.UserName
= zxTEName.Text;
user.Password
= zxTEPassword.Text;
user.Sex
= zxTESex.Text;
user.City
= zxTECity.Text;
db.SaveChanges();
GetUserView();
}

声明一个新的User实例

,然后使用SingleOrDefault方法将符合条件的数据从数据库中取出,接着只要执行SaveChanges方法,就可以将修改过的数据保存进数据库中。

  • 删除原有数据
代码如下:
UserDB db =new UserDB();
User user
= db.Users.SingleOrDefault(u => u.UserName == zxTEName.Text);
if (user !=null)
{
db.Users.Remove(user);
db.SaveChanges();
GetUserView();
}

取数据的操作和上面一样,取出数据后,直接执行Remove方法,将这条数据删除。 

posted @ 2012-09-19 00:28  ahwwmb  阅读(203)  评论(0编辑  收藏  举报