Используя подход, основанный на коде, у меня нет файла edmx. какая альтернатива? - PullRequest
0 голосов
/ 10 ноября 2018

Я довольно новичок в asp.net mvc, поэтому, пожалуйста, потерпите меня.Я хочу реализовать функциональность календаря, и все учебники, на которые я смотрел, используют подход, основанный на базе данных, и имеют файл edmx (Entity Data Model)

Сначала я использую код, и что я могу сделать относительнокод, который ссылается на этот файл 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 голосов
/ 10 ноября 2018

Сначала в коде вам не нужен файл edmx, потому что все в вашем собственном коде. Основные строительные блоки:

  1. Класс, который наследуется от DbContext. Это будет эквивалентно классу MyDatabaseEntities в вашем примере.

  2. Набор классов сущностей. Они просто должны быть простыми классами с автоматическими свойствами, соответствующими столбцам вашей базы данных. Для работы встроенных соглашений вам также потребуется идентификатор, например, свойство int с именем Id

  3. Набор свойств в вашем классе DbContext типа DbSet для каждого типа T, к которому вы хотите обратиться. Это свойство Events в вашем примере.

В более сложных сценариях вы настраиваете сопоставления, выходящие за рамки соглашений, которые могут быть автоматически определены. Это можно сделать с помощью атрибутов в ваших классах сущностей или с помощью специального набора API, которые можно вызывать в вашем контексте при запуске

...