Entity Framework вообще не вставляет данные - PullRequest
0 голосов
/ 01 марта 2019

В первый раз, когда я сталкиваюсь с этим, при использовании base.Seed (context) или context.SaveChanges () EF не будет вставлять какие-либо данные в базу данных.

Это мои настройки:

Контекст

public ApplicationDbContext() : base("DbName")
{         
    Database.SetInitializer(new NameOfSeeder()); 
}

Сеялка

public class NameOfSeeder : DropCreateDatabaseAlways<ApplicationDbContext> 
{
    protected override void Seed(ApplicationDbContext ctx)
    {           
        Language newLanguage = new Language("Nederlands");
        ctx.Languages.AddOrUpdate(l => l.Name, newLanguage);

        // using this won't work either
        ctx.Languages.Add(newLanguage);

        base.Seed(ctx); // => this should work, never had any issue with this untill now ...
        //ctx.SaveChanges(); // this does not work either
    }
}

Я также пытался добавить эток моему первому действию (Index => HomeController)

using (ApplicationDbContext ctx = new ApplicationDbContext())
{
    //if (ctx.Languages.Any()) { }

    Language newLanguage = new Language("Nederlands");
    ctx.Languages.Add(newLanguage);
    ctx.SaveChanges();
}

Web.config

<add name="DbName" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\DbName.mdf;Integrated Security=True" providerName="System.Data.SqlClient" />

Это действительно первый раз, когда яУ меня это, НЕТ ИДЕИ, что вызывает это ... Любая помощь, пожалуйста, очень признателен!

РЕДАКТИРОВАТЬ:

  • Я использую AzureАутентификация AD

  • EF Миграции также (добавлены Миграции сегодня, но это ничего не изменило)

  • с использованием Database.SetInitializer (new DropCreateDatabaseAlways ());тоже не работал

1 Ответ

0 голосов
/ 04 марта 2019

ОК, поэтому я не ожидал, что EF NOT в таких случаях выдаст исключение, но я включил метод Seed () в Try Catch и угадаю, что:

Validation failed for one or more entities. See 'EntityValidationErrors' property for more details.

Так что да, я решил ошибки проверки, и все работает как надо.С уважением.

...