Share via


如何:手动配置实体框架项目

如果在 Visual Studio 项目中使用实体数据模型 向导,该向导将自动生成 .edmx 文件并将该项目配置为使用实体框架 。 有关更多信息,请参见如何:使用实体数据模型向导(实体框架)。 也可以手动将 Visual Studio 项目配置为使用实体框架 。 如果手动定义了模型和映射文件或使用 EDM 生成器 (EdmGen.exe) 实用工具定义了它们,则需要这样做。

本主题中的示例使用 AdventureWorks 销售模型的模型和映射文件。 AdventureWorks 销售模型将在实体框架 文档的与任务相关的所有主题中使用。

将 Visual Studio 项目配置为使用 AdventureWorks 销售模型

  1. 在**“解决方案资源管理器”中,将程序集引用添加到“System.Data.Entity.dll”“System.Runtime.Serialization.dll”**中。

  2. 将以下模型和映射文件添加到该项目中:

    • AdventureWorks.csdl

    • AdventureWorks.msl

    • AdventureWorks.ssdl

    有关创建这些文件的信息,请参见如何:手动定义模型和映射文件(实体框架)

  3. 选中刚添加到项目目录中的三个文件。 在**“项目”菜单上,单击“包括在项目中”**。

  4. 选中添加到项目目录中的三个文件。 在**“项目”菜单上,单击“属性”**。

  5. 在“属性”窗格中,将**“复制到输出目录”设置为“如果较新则复制”**。

  6. 打开项目的应用程序配置文件 (App.config) 并添加以下连接字符串:

    <connectionStrings>
        <add name="AdventureWorksEntities" 
             connectionString="metadata=.\AdventureWorks.csdl|.\AdventureWorks.ssdl|.\AdventureWorks.msl;
             provider=System.Data.SqlClient;provider connection string='Data Source=localhost;
             Initial Catalog=AdventureWorks;Integrated Security=True;Connection Timeout=60;
             multipleactiveresultsets=true'" providerName="System.Data.EntityClient" />
    </connectionStrings>
    

    如果项目没有应用程序配置文件,可以通过从**“项目”菜单中选择“添加新项”,选择“常规”类别,接着选择“应用程序配置文件”,然后单击“添加”**,以添加应用程序配置文件。

  7. 在项目目录中的命令提示符下,针对项目运行适当的命令(删除换行符):

    • 对于 C#:

      "%windir%\Microsoft.NET\Framework\v4.0\edmgen.exe" /mode:EntityClassGeneration 
      /incsdl:.\AdventureWorks.csdl /outobjectlayer:.\AdventureWorks.Objects.cs /language:CSharp
      
    • 对于 Visual Basic:

      "%windir%\Microsoft.NET\Framework\v4.0\edmgen.exe" /mode:EntityClassGeneration 
      /incsdl:.\AdventureWorks.csdl /outobjectlayer:.\AdventureWorks.Objects.vb /language:VB
      

    这将在 C# 或 Visual Basic 中生成一个基于概念模型的对象层文件。

  8. 将在上一步中生成的对象层文件添加到项目中。

  9. 在应用程序的代码页中,添加以下 using 语句(在 Visual Basic 中为 Imports):

    Imports System
    Imports System.Linq
    Imports System.Collections.Generic
    Imports System.Text
    Imports System.Data
    Imports System.Data.Common
    Imports System.Data.Objects
    Imports System.Data.Objects.DataClasses
    
    using System;
    using System.Linq;
    using System.Collections.Generic;
    using System.Text;
    using System.Data;
    using System.Data.Common;
    using System.Data.Objects;
    using System.Data.Objects.DataClasses;
    

另请参见

概念

快速入门(实体框架)

其他资源

Entity Data Model Tools