ASP.NET

推荐列表 站点导航

当前位置:首页 > 脚本编程 > ASP.NET >

EntityFramework 5.0 CodeFirst 教程01搭建环境和快速上手

来源:网络整理  作者:网友投稿  发布时间:2020-12-29 10:05
----------------------------目录------------------------------EntityFramework5 0CodeFirst教程01-搭建环境和快速上手------------------------...

----------------------------目录------------------------------

EntityFramework 5.0 CodeFirst 教程01-搭建环境和快速上手

----------------------------目录------------------------------

网上关于EntityFramework 5.0的教程很多,但是大多数都是代码整理不清晰,有些甚至是拷贝,代码丢失等问题,本人最近也有一个项目是用到EntityFramework 5.0 并且是code first的使用方式,鉴于这个在谷歌上面找了一本国外人写的code first的电子书,英文版的,配合着电子词典看下去,感觉不错,写的非常清晰有条理,所以分享给大家。

    首先是电子书的下载,如果想只看电子书的朋友,可以直接下载下来,不用再往下读了。
    下载地址,百度网盘:     本教程只适合使用,所以一开始就上代码了,如果想掌握各种理论的朋友,可能不适合继续阅读下去,如果想快速地使用上EntityFramework 5.0 CodeFirst ,可以阅读下去     创建一个.NET 4.5的控制台应用程序,本人使用的VS 2013 建议读者也使用这个IDE    



    就是一个控制台应用程序,下面引用EntityFramework.dll      首先我们来创建一个Person的类,只有 有姓FirstName 和名LastName 还有主键ID(PersonId)   一切从简单开始,不大喜欢像其他教程一样,例子都搞得非常复杂,例子应该要抓住核心,排除其他的和主题不关的 bamn.cn     整个类如下:    public class Person { public int PersonId { get; set; } public string FirstName { get; set; } public string LastName { get; set; } }     我们再创建一个PersonContext 上下文类,需要继承DbContext   public class PersonContext : DbContext { public PersonContext() : base('name=dblink') { } public DbSet<Person> People { get; set; } }    细心的同学可能看到构造方法后面的base('name=dblink') 这里的dblink就是数据库连接名称了 看下面的配置文件就清楚了 然后就是数据库的连接了,在配置文件app.config中添加链接字符串    <?xml version='1.0' encoding='utf-8' ?> <configuration>   <connectionStrings>     <add name='dblink'     connectionString='Data Source=.MSSQLSERVER2008;Initial Catalog=EFDemo;User ID=sa;Password=123321;'     providerName='System.Data.SqlClient'/>   </connectionStrings>     <startup>          <supportedRuntime version='v4.0' sku='.NETFramework,Version=v4.5' />     </startup> </configuration>        下面我们就对数据库进行操作了,首先是创建数据库,创建数据库试用EF只需要一句代码就可以了,EF会帮我们将数据库还有数据表创建好的 我们在program.cs的main方法中添加下面代码   class Program { static void Main(string[] args) { using (var personContext = new PersonContext()) { //如果不存在数据库则创建 bool res = personContext.Database.CreateIfNotExists(); } Console.ReadKey(); } } 我们再查找数据库,发现已经自动地创建好了数据库还有表了,看下图:

EntityFramework 5.0 CodeFirst 教程01搭建环境和快速上手

  这里有一点要注意的:    就是实体Person创建的时候,需要一个主键,这个主键必须是类名+ID 比如 这里的PersonId 如果你改成其他的比如 你将类改为PersonModel 但是ID还是 PersonId 那么久会报下面的错误了,这里大家要注意的地方,还有就是这里的ID 可以写成Id都没问题的,这个应该是微软的EF框架约定俗成的一个地方吧。   One or more validation errors were detected during model generation: System.Data.Entity.Edm.EdmEntityType: : EntityType 'PersonModel' has no key defined. Define the key for this EntityType. System.Data.Entity.Edm.EdmEntitySet: EntityType: EntitySet 'People' is based on type 'PersonModel' that has no keys defined.   下面我们来添加一条数据到表中    在main方法中加入下面代码    //往数据库中添加数据 var person = new Person { FirstName = 'John', LastName = 'Doe' }; personContext.People.Add(person); personContext.SaveChanges(); 执行后 查询表发现记录已经添加进去了  

EntityFramework 5.0 CodeFirst 教程01搭建环境和快速上手

所有的操作基本都是通过这个context上下文来实现,比如添加记录,只需要add一个实体进去 然后再savechanges 这个方法执行后,EF才会将数据保存到表里面。   下面再来获取表中的数据 //获取数据 var savedPeople = personContext.People; foreach (var p in savedPeople) { Console.WriteLine('Last name:{0},first name:{1},id {2}', p.LastName, p.FirstName, p.PersonId); } 获取数据也很简单,这里是获取所有的记录,然后遍历就可以取得数据了,非常方便 当我们执行多次刚才的代码的时候,EF会添加多条记录进去,并且ID也不一样了,ID主键是自增长的

EntityFramework 5.0 CodeFirst 教程01搭建环境和快速上手

 

EntityFramework 5.0 CodeFirst 教程01搭建环境和快速上手

   所有代码如下:   using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { using (var personContext = new PersonContext()) { //如果不存在数据库则创建 bool res = personContext.Database.CreateIfNotExists(); //往数据库中添加数据 var person = new Person { FirstName = 'John', LastName = 'Doe' }; personContext.People.Add(person); personContext.SaveChanges(); //获取数据 var savedPeople = personContext.People; foreach (var p in savedPeople) { Console.WriteLine('Last name:{0},first name:{1},id {2}', p.LastName, p.FirstName, p.PersonId); } } Console.ReadKey(); } } } 代码结构:

EntityFramework 5.0 CodeFirst 教程01搭建环境和快速上手



本集源码:      

相关热词:

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/jiaob/net/10633.shtml

最新文章
 PS:这里需要注意 PS:这里需要注意

时间:2021-01-22

以为这个版本出来 以为这个版本出来

时间:2021-01-22

搜索winform designer 搜索winform designer

时间:2021-01-22

全新的membership框架Asp.ne 全新的membership框架Asp.ne

时间:2021-01-21

i dont know;18if (msg.Contains( i dont know;18if (msg.Contains(

时间:2021-01-21

统筹管理路由规则. 统筹管理路由规则.

时间:2021-01-21

根据switch-case语句来逐一判 根据switch-case语句来逐一判

时间:2021-01-21

EntityFramework 5.0 CodeFirst 教 EntityFramework 5.0 CodeFirst 教

时间:2021-01-21

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

EntityFramework 5.0 CodeFirst 教程01搭建环境和快速上手

2020-12-29 编辑:网友投稿

----------------------------目录------------------------------

EntityFramework 5.0 CodeFirst 教程01-搭建环境和快速上手

----------------------------目录------------------------------

网上关于EntityFramework 5.0的教程很多,但是大多数都是代码整理不清晰,有些甚至是拷贝,代码丢失等问题,本人最近也有一个项目是用到EntityFramework 5.0 并且是code first的使用方式,鉴于这个在谷歌上面找了一本国外人写的code first的电子书,英文版的,配合着电子词典看下去,感觉不错,写的非常清晰有条理,所以分享给大家。

    首先是电子书的下载,如果想只看电子书的朋友,可以直接下载下来,不用再往下读了。
    下载地址,百度网盘:     本教程只适合使用,所以一开始就上代码了,如果想掌握各种理论的朋友,可能不适合继续阅读下去,如果想快速地使用上EntityFramework 5.0 CodeFirst ,可以阅读下去     创建一个.NET 4.5的控制台应用程序,本人使用的VS 2013 建议读者也使用这个IDE    



    就是一个控制台应用程序,下面引用EntityFramework.dll      首先我们来创建一个Person的类,只有 有姓FirstName 和名LastName 还有主键ID(PersonId)   一切从简单开始,不大喜欢像其他教程一样,例子都搞得非常复杂,例子应该要抓住核心,排除其他的和主题不关的 bamn.cn     整个类如下:    public class Person { public int PersonId { get; set; } public string FirstName { get; set; } public string LastName { get; set; } }     我们再创建一个PersonContext 上下文类,需要继承DbContext   public class PersonContext : DbContext { public PersonContext() : base('name=dblink') { } public DbSet<Person> People { get; set; } }    细心的同学可能看到构造方法后面的base('name=dblink') 这里的dblink就是数据库连接名称了 看下面的配置文件就清楚了 然后就是数据库的连接了,在配置文件app.config中添加链接字符串    <?xml version='1.0' encoding='utf-8' ?> <configuration>   <connectionStrings>     <add name='dblink'     connectionString='Data Source=.MSSQLSERVER2008;Initial Catalog=EFDemo;User ID=sa;Password=123321;'     providerName='System.Data.SqlClient'/>   </connectionStrings>     <startup>          <supportedRuntime version='v4.0' sku='.NETFramework,Version=v4.5' />     </startup> </configuration>        下面我们就对数据库进行操作了,首先是创建数据库,创建数据库试用EF只需要一句代码就可以了,EF会帮我们将数据库还有数据表创建好的 我们在program.cs的main方法中添加下面代码   class Program { static void Main(string[] args) { using (var personContext = new PersonContext()) { //如果不存在数据库则创建 bool res = personContext.Database.CreateIfNotExists(); } Console.ReadKey(); } } 我们再查找数据库,发现已经自动地创建好了数据库还有表了,看下图:

EntityFramework 5.0 CodeFirst 教程01搭建环境和快速上手

  这里有一点要注意的:    就是实体Person创建的时候,需要一个主键,这个主键必须是类名+ID 比如 这里的PersonId 如果你改成其他的比如 你将类改为PersonModel 但是ID还是 PersonId 那么久会报下面的错误了,这里大家要注意的地方,还有就是这里的ID 可以写成Id都没问题的,这个应该是微软的EF框架约定俗成的一个地方吧。   One or more validation errors were detected during model generation: System.Data.Entity.Edm.EdmEntityType: : EntityType 'PersonModel' has no key defined. Define the key for this EntityType. System.Data.Entity.Edm.EdmEntitySet: EntityType: EntitySet 'People' is based on type 'PersonModel' that has no keys defined.   下面我们来添加一条数据到表中    在main方法中加入下面代码    //往数据库中添加数据 var person = new Person { FirstName = 'John', LastName = 'Doe' }; personContext.People.Add(person); personContext.SaveChanges(); 执行后 查询表发现记录已经添加进去了  

EntityFramework 5.0 CodeFirst 教程01搭建环境和快速上手

所有的操作基本都是通过这个context上下文来实现,比如添加记录,只需要add一个实体进去 然后再savechanges 这个方法执行后,EF才会将数据保存到表里面。   下面再来获取表中的数据 //获取数据 var savedPeople = personContext.People; foreach (var p in savedPeople) { Console.WriteLine('Last name:{0},first name:{1},id {2}', p.LastName, p.FirstName, p.PersonId); } 获取数据也很简单,这里是获取所有的记录,然后遍历就可以取得数据了,非常方便 当我们执行多次刚才的代码的时候,EF会添加多条记录进去,并且ID也不一样了,ID主键是自增长的

EntityFramework 5.0 CodeFirst 教程01搭建环境和快速上手

 

EntityFramework 5.0 CodeFirst 教程01搭建环境和快速上手

   所有代码如下:   using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { using (var personContext = new PersonContext()) { //如果不存在数据库则创建 bool res = personContext.Database.CreateIfNotExists(); //往数据库中添加数据 var person = new Person { FirstName = 'John', LastName = 'Doe' }; personContext.People.Add(person); personContext.SaveChanges(); //获取数据 var savedPeople = personContext.People; foreach (var p in savedPeople) { Console.WriteLine('Last name:{0},first name:{1},id {2}', p.LastName, p.FirstName, p.PersonId); } } Console.ReadKey(); } } } 代码结构:

EntityFramework 5.0 CodeFirst 教程01搭建环境和快速上手



本集源码:      

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/jiaob/net/10633.shtml

相关文章

风云图片

推荐阅读

返回ASP.NET频道首页