ADO.NET Entity Framework如何:手动配置实体框架项目

如果在 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) 并添加以下连接字符串:

        <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" />
    
    

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

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

    • 对于 C#:

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

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

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

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

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

    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;
    
    

posted @ 2010-12-29 13:31 子福当自强 阅读(...) 评论(...) 编辑 收藏
悟道2012