EntityFrameWork 新功能的使用

来源:互联网 发布:plsql导入数据和表结构 编辑:程序博客网 时间:2024/05/23 02:02
EntityFrameWork 新功能的使用




1.安装最新的EntityFramework,注意VS2010要在新建的项目中用NuGet来下载安装最新的EF包,每新建个项目都要这样
2.在edmx文件设计界面空白处,点右键,选择“添加代码生成项”菜单
  下载安装 “ADO.NET DbContext Generator” 模板
  
  我这里测试时安装的是“EF 4.0 DbContext Fluent Generator”
  使用它会产生T4模板来生成上下文对象和实体类
  
  //------------------------------------------------------------------------------
// <auto-generated>
//    This code was generated from a template.
//
//    Manual changes to this file may cause unexpected behavior in your application.
//    Manual changes to this file will be overwritten if the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#pragma warning disable 1573
namespace DBFirst_EF6
{
    using System;
    using System.Data.Common;
    using System.Data.Entity;
    using System.Data.Entity.Infrastructure;
    
    public partial class TestDBEntities : DbContext
    {
        static TestDBEntities()
   
    Database.SetInitializer<TestDBEntities>(null);
    }
   
    public TestDBEntities() : base("name=TestDBEntities")
        {
        }
   
    public TestDBEntities(string nameOrConnectionString) : base(nameOrConnectionString)
    {
    }
    
    public TestDBEntities(string nameOrConnectionString, DbCompiledModel model) : base(nameOrConnectionString, model)
    {
    }
    
    public TestDBEntities(DbConnection existingConnection, bool contextOwnsConnection) : base(existingConnection, contextOwnsConnection)
    {
    }
    
    public TestDBEntities(DbConnection existingConnection, DbCompiledModel model, bool contextOwnsConnection) : base(existingConnection, model, contextOwnsConnection)
    {
    }
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
    modelBuilder.Conventions.Remove<IncludeMetadataConvention>();
    modelBuilder.Configurations.Add(new t_User_Mapping());
        }
   
        public DbSet<t_User> t_User { get; set; }
    }
}












































//========================= 安装最新版的EntityFrameWork  Start ==========================================
 如何在vs2010上安装EntityFramework5.0?




首先,需要安装一个vs插件,名称为NuGet Package Manager,微软官方发布的,其作用就是为vs工程项目自动下载、安装、升级、配置和移除包。


操作步骤:打开vs2012,然后工具-》扩展管理器,搜索NuGet,找到安装即可。


注意:此插件需要PowerShell 2.0,win7和server2008已自带,如果你还在用xp,那么需要先下载安装此前置系统组件
http://support.microsoft.com/kb/968929 说明很长,下载在下方,请查找对应自己操作系统的组件。


次,使用上面安装的插件安装EntityFramework5.0


步骤:重启vs,然后工具-》库程序包管理器-》程序包管理器控制台,打开控制台



程序包管理器控制台主机版本 2.1.31002.9028
键入“get-help NuGet”以查看所有可用的 NuGet 命令。
PM>



在PM>输入 Install-Package EntityFramework,然后会得到出错提示

PM> Install-Package EntityFramework
Install-Package : 当前环境未打开任何解决方案。
所在位置 行:1 字符: 16



也即,需要在一个工程项目中使用此方式,新建一个c#控制台应用程序,命名为EFDemo,再执行如上操作,会在线下载最新稳定版本即5.0并安装,成功则结果如下:



PM> Install-Package EntityFramework
已成功安装“EntityFramework 5.0.0”。
已成功将“EntityFramework 5.0.0”添加到 EFDemo。
Type 'get-help EntityFramework' to see all available Entity Framework commands.



安装后的变化
上述操作执行完毕后,会发现项目变化


1.新增了一个packages.config文件


<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EntityFramework" version="5.0.0" targetFramework="net40-Client" />
</packages>


 2.app.config文件中根节点中新增了一行配置(从配置文件来看,所说的5.0,实际内部版本号是4.4)


<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>


3.项目引用下新增了一个EntityFramework,指向c:\*****\EFStudy\packages\EntityFramework.5.0.0\lib\net40\EntityFramework.dll(EFStudy为解决方案名称)


4.该项目所在的解决方案下增加了名为“packages”的目录,里面存放包括dll在内的与ef5.0相关的文件。


按照如上步骤,可以在vs2010上安装EF5.0。




//========================= 安装最新版的EntityFrameWork  End ==========================================
0 0
原创粉丝点击