Ответы пользователя по тегу .NET
  • Insert в таблицу при миграции?

    @Oblomingo
    Вы можете добавить записи в Seed метод.
    Примерно так:
    protected override void Seed(BookService.Models.BookServiceContext context)
    {
        context.Authors.AddOrUpdate(x => x.Id,
            new Author() { Id = 1, Name = "Jane Austen" },
            new Author() { Id = 2, Name = "Charles Dickens" },
            new Author() { Id = 3, Name = "Miguel de Cervantes" }
            );
    }

    Ссылка на статью:
    https://www.asp.net/web-api/overview/data/using-we...
    Ответ написан
    Комментировать
  • Сложный проект ASP.NET: выбор ORM?

    @Oblomingo
    Советую вам задуматься не только об ORM, но и об архитектуре вашего приложения.
    ORM позволяет очень быстро реализовать слой ответственный за трансформацию моделей базы данных в обьекты бизнес модели. Фактически, он реализует кучу таких классических паттернов как Data Mapper, Identity Map, Lazy Load, Repository, Unit of Work и еще кучу всего. Все это вы получаете из коробки + такие приятные вещи для контроля версии базы данных как CodeFirst + migrations. Да, в отдельных случаях вы расплачиваетесь скорость чтения/записи.
    Тут вам должна помочь правильная архитектура вашего приложения. Вы можете проектировать в соответсвии с принципами Domain-Driven-Design. В этом случае (в отличие от монолитного решения) приложения разделено на части. Каждая часть может иметь свою инфраструктуру, которая умеет записывать/читать данные из базы данных (repository pattern) и использовать какой то отдельный фреймворк. Части, которым не актуальна быстрая скорость, может легко использовать удобыный EF. Если в какой то части вы видите проблемы с быстродействием (bottleneck), вы можете изменить repository - выкинуть из нее EF и использовать Dapper. При правильной архитектуре, такая замена не затронет другие части системы и ваш рефакторинг пройдет безболезнено.

    Кроме того для EF есть расширения, которые реализуют Bulk функции:
    https://github.com/loresoft/EntityFramework.Extended
    entityframework-extensions.net
    https://efbulkinsert.codeplex.com/
    Ответ написан
    1 комментарий