将实体框架模型添加到项目中

时间:2012-01-23 15:43:56

标签: visual-studio-2010 entity-framework

我有问题将实体框架模型添加到我的项目中。这就是我在做的事情:

1-右键点击项目

2-选择添加

3-在对话框中选择已安装模板中的数据。

4-安装模板中我看不到ADO.NET实体框架模板。

我应该安装什么?

我使用NuGet安装Entity framework 4.2.0.0但没有成功。

我正在使用Visual Studio 2010

编辑:在答案的评论中寻找信息。

1 个答案:

答案 0 :(得分:4)

您尝试使用哪种实体框架方法?最简单的(在我看来)是CodeFirst。

DataBaseFirst或ModelFirst

如果您使用向导创建模型,

  1. 右键单击项目>添加新项目
  2. 无论您使用哪种语言,都应该有一个数据节点。在该节点下,选择“ADO.NET实体数据模型”。
  3. 使用设计器或向导为ORM映射建模
  4. CodeFirst

    (您可以使用现有数据库执行此操作,因此名称有点用词不当)

    1. 右键单击项目>添加课程
    2. 为其中一个计划的业务对象命名(如果使用现有数据库,如果它们与数据库中的表完全匹配,则可以按名称映射类)
    3. 大纲属性(如果使用现有数据库,如果属性与数据库中的字段完全匹配,则可以按名称映射属性)
    4. 右键单击项目>添加库包参考
    5. 在线>全部搜索实体,并安装实体框架包(如果已经安装,可能只需要引用它。
    6. 您可能需要在实体类中解析使用语句(或包括使用VB.NET)。
    7. 实施例

      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.ComponentModel.DataAnnotations;
      using System.Collections.ObjectModel;
      using System.Data;
      using System.Data.SqlClient;
      using System.Data.Common;
      
      namespace Kiersted.Keps.BusinessObjects
      {
          [Table("Search", Schema = "mySchema")]
          public class BatchSearch : KepsBusinessObject, IKepsBusinessObject
          {
      
              public BatchSearch() { }
      
              public BatchSearch(DateTime created)
              {
                  this.Created = created;
              }
      
              #region Data Properties
      
              [Key]
              [Column("BatchSearchID")]
              public int SearchId{ get; set; }
      
              [Column("uidQueueMaster")]
              public Nullable<int> uidQueueMaster { get; set; }
      
              [Column("DateCreated")]
              public DateTime Created { get; set; }
      
              [Column("DateCompleted")]
              public Nullable<DateTime> Completed{ get; set; }
      
              public string QueryTerms { get; set; }
      
              [NotMapped]
              public string LocalProperty { get; set; }
          }
      }
      

      注意:如果您使用的是现有数据库,则可以将类命名为与表相同,也可以将Table属性添加到类声明中。如果要将表放入不同的模式(默认为dbo),则无论名称如何,都需要Table标记,以便指定模式。

      注意:如果您使用的是现有数据库,则可以将属性命名为与相应字段相同,也可以添加Column属性。