Ответы пользователя по тегу Entity Framework
  • Что исправить в строке подключения к базе данных Entity Framework C#?

    @basrach
    Для того чтобы переносить базу данных вам нужно выбрать что использовать для начала:
    1) Sql Server CE (Compact Edition) - урезанный движок, который можно таскать с собой в виде библиотеки. Но он deprecated с 13 года.
    2 ) Sql Server LocalDB. Но его нужно устанавливать отдельно на каждой машине. Он поставлялся раньше вместе с VisualStudio, сейчас не знаю.
    3) sqlite, которая будет работать везде, но у нее есть свои минусы.
    4) Использовать обычный инстанс Sql Server (возможно Express, не важно), и таскать с собой только базу.
    В зависимости от того что вы выберете будет меняться строка подключения. Сейчас она у вас для обычного инстанса Sql Server:
    data source=DESKTOP-K4U1293;initial catalog=IPhoneDB;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework
    .
    Например для варианта 4, нужно ее изменить на:
    Server=DESKTOP-K4U1293;AttachDbFilename=|DataDirectory|mydbfile.mdf;Database=IPhoneDB;
    Trusted_Connection=Yes;
    .
    Для варианта 2:
    Server=(localdb)\v11.0;Integrated Security=true;
    AttachDbFileName=|DataDirectory|mydbfile.mdf;

    Вт тут много примеров.
    Ответ написан
    Комментировать
  • Какой выбрать тип данных в классе datetime или string?

    @basrach
    Используйте DateTime?, с вопросительным знаком. Это как обычный DateTime, только он может иметь значение NULL. Он специально создан для таких случаев.
    Ответ написан
    Комментировать
  • Почему не работает запись в базу данных?

    @basrach
    вы упустили слово await перед context.SaveChangesAsync();
    Ответ написан
    1 комментарий
  • Проблема с DATETIME?

    @basrach
    Когда EF достает данные, можно сказать чтобы он даты считал в UTC.
    Посмотрите здесь и здесь.
    Ну дальше либо new DateTime(01.02.2018).ToUniversalTime(), либо new DateTime(31.01.2018, DateTimeKind.Utc)
    Ответ написан
    1 комментарий
  • EntityFramework - можно ли "скрестить" контексты?

    @basrach
    Можно.

    Контексты не знают друг о друге ничего, и нет никакой разницы, создаете вы два экземпляра одного класса контекста, или два экземпляра разных классов контекстов. Каждый экземпляр полностью изолирован и функционирует так, будто он один на свете. Т.е. в него можно пихать любые таблицы/сущности и мапинги лишь бы они были корректны с точки зрения схемы бд.
    Единственный минус возможно заключается в том, что какие-то маппингы придется дублировать в двух местах. Таким образом возможно могут быть нарушены принципы вроде DRY и еще какие-нибудь. Но, как предложили выше, наследование закрывает этот вопрос.
    В любом случае окончательно решение нужно принимать с учетом всех особенностей вашей архитектуры.
    Ответ написан
    Комментировать
  • Насколько ли плохи дефолтные контроллеры в ASP.NET MVC???

    @basrach
    Зависит полностью от вашей задачи. Вот сделали вы там что-то. Если это вас устраивает полностью, всё работает как надо, "они делают всё что необходимо" то значит и контроллеры и прочее - отличные. Может статься, что проект будет расти и усложняться. Когда дефолтные контроллеры + EF без дополнительных слоев абстракции перестанут "делать всё необходимое", а наоборот начнут только усложнять вам жизнь. Тогда вы сами поймете насколько и чем они плохи. До тех же пор, абсолютно ничего плохого в них нет.
    Ответ написан
    Комментировать