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

Using code-first approach,I don't have an edmx file. what's the alternative?

我是 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 };
    }
}

抱歉,如果这个问题含糊不清或不清楚。 谢谢,非常感谢您的帮助!

在代码优先中,您不需要 edmx 文件,因为一切都在您自己的代码中。基本构建块是:

  1. 一个继承自 DbContext 的 class。这将等同于示例中的 MyDatabaseEntities class。

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

  3. 的 int 属性
  4. DbContext class 类型 DbSet 上的一组属性,用于每个类型 T,它是您要查询的实体。这是您示例中的事件 属性。

在更高级的场景中,您可以自定义超出约定可以自动推断的映射。这可以通过实体 classes 上的属性来完成,或者通过一组特殊的 API 来完成,这些 API 可以在启动时在您的上下文中调用

转到数据库中的 Sql 服务器,有一个文件夹 Database Diagram,右键单击 New Database Diagram 并浏览它。