.edmx文件与创建Entities.cs文件之间的区别

时间:2011-03-15 00:52:37

标签: c# asp.net asp.net-mvc-3

我看过两篇关于MVC的微软教程。在一个教程中,他们正在创建一个.edmx文件来处理实体框架以执行Linq查询。在另一个教程中,他们创建了一个名为“MusicStoreEntities.cs”的类,这里是代码:

using System.Data.Entity;

namespace MvcMusicStore.Models
{
    public class MusicStoreEntities : DbContext
    {
        public DbSet<Album>     Albums  { get; set; }
        public DbSet<Genre>     Genres  { get; set; }
        public DbSet<Artist>    Artists { get; set; }
        public DbSet<Cart>      Carts { get; set; }
        public DbSet<Order>     Orders { get; set; }
        public DbSet<OrderDetail> OrderDetails { get; set; }
    }
}

教程创建了这个类的实例,并开始执行Linq查询。这两种方法有什么区别?以及如何在.edmx文件中创建DbSet对象?谢谢。

1 个答案:

答案 0 :(得分:3)

有多种方法可以创建模型结构。

  1. 您可以先编写POCO个类,然后手动创建数据库。
  2. 您可以先编写POCO个类,然后使用代码优先库自动创建数据库。
  3. 您可以创建数据库架构,并将其导入类图(将提供所有模型和导航)。
  4. 您可以创建类图,并从中创建数据库模式。
  5. 1和2仅创建cs,而3和4创建edmx。

    您可以查看this代码优先EF(这包括问题的DbSet部分)。

    编辑:您甚至可以将POCO类与现有数据库一起使用,如发布here