среда, 30 июля 2014 г.

Контекст EntityFramework в MVC

Есть клас AppContext. У него в конструкторе создается экземпляр EntityContext.
Сам AppContext создается в конструкторе базового контреллера, и его экземпляр доступен
во всех контроллерах.

В AppContext реализуется работа с EF. Наружу выставляется интерфейс.

public class AppContext : IDataService
    {
        private static MyNotesEntities _entityContext;

        static AppContext()
        {
            _entityContext = new MyNotesEntities();
        }

        public void AddNote(Note note)
        {
            _entityContext.Notes.Add(note);
            _entityContext.SaveChanges();
        }

        public List<Note> GetNoteList()
        {
            return _entityContext.Notes.ToList();
        }
    }

public interface IDataService
    {
        void AddNote(Note note)
        List<Note> GetNoteList();
    }

 public class NoteController : Controller
    {
        AppContext _appContext;

       public NoteController()
        {
            _appContext = new AppContext();           
        }
}

Класс MyNotesEntities автоматически создается EF и наследует стандартный класс DbContext.

Комментариев нет:

Отправить комментарий