使用代码优先方法,我没有edmx文件。有什么选择?

时间:2018-11-10 06:14:59

标签: asp.net asp.net-mvc entity-framework ef-code-first code-first

我对asp.net mvc还是很陌生,所以请多多包涵。 我想实现日历功能,我看过的所有教程都使用数据库优先的方法,并拥有edmx文件(实体数据模型)

我首先使用代码,关于引用此edmx文件的代码我该怎么办?我应该改为引用上下文?

示例:

 public JsonResult GetEvents()
{
    //Here MyDatabaseEntities is our entity datacontext (see Step 4)
    using (MyDatabaseEntities dc = new MyDatabaseEntities())
    {
        var v = dc.Events.OrderBy(a => a.StartAt).ToList();
        return new JsonResult { Data = v, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
    }
}

很抱歉,这个问题不清楚或不清楚。 谢谢您,我将不胜感激!

1 个答案:

答案 0 :(得分:1)

首先在代码中,您不需要edmx文件,因为所有内容都在您自己的代码中。基本构建块是:

  1. 从DbContext继承的类。这将等效于示例中的MyDatabaseEntities类。

  2. 一组实体类。它们基本上只需要是具有与数据库列相对应的自动属性的普通类。为了使内置约定生效,您还需要一个ID,例如一个名为Id

  3. 的int属性。
  4. DbSet类的DbContext类上针对每个类型T(您要查询的实体)的一组属性。这是您示例中的Events属性。

在更高级的方案中,您将自定义映射超出常规可以自动推断的范围。这可以通过实体类上的属性来完成,也可以通过一组特殊的API来完成,这些API可以在启动时在上下文中调用