EntityFramework
Posted ACE老翟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EntityFramework相关的知识,希望对你有一定的参考价值。
实现效果:ORM方式对数据进行增删改查。
实现环境:VS2013
在项目中添加EntityFramework的nuget包。
新建context类,如下所示
base 处为数据库的连接
public class PersonContext:DbContext { public PersonContext():base("name=dblink") { } }
在app.config文件添加链接字符串
<connectionStrings> <add name="dblink" connectionString="Server=.; Database=EFDemo; Trusted_Connection=True;" providerName="System.Data.SqlClient"/> </connectionStrings>
创建实体类Person
public class Person { public int PersonId { get; set; } public string FirstName { get; set; } public string LastName { get; set; } }
在context中添加dbset
public DbSet<Person> Persons { get; set; } public DbSet<Company > Companys { get; set; }
添加一个Initializer类,继承DropCreateDatabaseIfModelChanges
public class Initializer : DropCreateDatabaseIfModelChanges<PersonContext> { protected override void Seed(PersonContext context) { //base.Seed(context); } }
可以在seed方法中添加一些初始的数据~~
现在就可以做一些基本的数据库操作了~~
在service中可以做如下操作
private readonly PersonContext _context; public PersonService() { _context = new PersonContext(); } public void InsertPerson(Person person) { //_context.Persons.Add(person); }
后期可以在项目添加Migration,方法是在程序包管理控制台写:Enable-Migration。会生成一个Migration的文件夹,里面包括数据库迁移文件~
以后更新表时,可以在程序包管理控制台用 update-database做数据库迁移~~
暂时整理这些~~
以上是关于EntityFramework的主要内容,如果未能解决你的问题,请参考以下文章
MVC 5 Scaffolder + EntityFramework+UnitOfWork Pattern 代码生成工具
EntityFramework5代码先行,如何配置不同列名的分表关系?
MiniProfiler 与 EntityFramework 6 代码优先