Как будто вы пытаетесь получить доступ к объекту, который является null
. Рассмотрим ниже пример:
TypeA objA;
. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException
, что имеет смысл.
См. Также этот пример:
String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
Это хороший способ описать вашу строку подключения в классе dbcontext, например
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
if (!optionsBuilder.IsConfigured)
{
optionsBuilder.UseSqlServer(@"Server=Servername;Database=Dbname;User ID=sa;Password=1234qqqQ;TrustServerCertificate=True;Trusted_Connection=False;Connection Timeout=30;Integrated Security=False;Persist Security Info=False;Encrypt=True;MultipleActiveResultSets=True;");
}
}
. Это позволит вам добавить миграцию в базу данных. Во-вторых, ваше приложение должно знать, в какую базу данных оно будет отправлено. В ядре .net добавьте следующий код startup.cs
var connection = @"Server=Servername;Database=Dbname;User ID=sa;Password=1234qqqQ;TrustServerCertificate=True;Trusted_Connection=False;Connection Timeout=30;Integrated Security=False;Persist Security Info=False;Encrypt=True;MultipleActiveResultSets=True;";
services.AddDbContext<BeautyCenterContext>(options => options.UseSqlServer(connection));
Не забудьте изменить проект по умолчанию на проект, который содержит класс контекста при добавлении миграции в pm. Надеюсь, это поможет.
Посмотрите на следующие строки в Web.config
:
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
Ваша фабрика соединений установлена на mssqllocaldb
, поэтому дБ создается с использованием локальной дБ. Исправьте строку подключения, чтобы использовать имя экземпляра SQL, или просто удалите этот код, чтобы настройка App.config
работала.