Расположение строки подключения Winforms .net core 3 - PullRequest
1 голос
/ 18 октября 2019

enter image description here

Я создал проект Winforms .net core 3 и мне интересно, где я должен разместить строку подключения? Обычно в основном веб-проекте я размещаю его в appsettings.json.

class DatabaseContext : DbContext
    {
        public DatabaseContext(DbContextOptions<DatabaseContext> options) : base(options)
        { }

        protected override void OnModelCreating(ModelBuilder builder)
        {
            base.OnModelCreating(builder);


        }

        public DbSet<InsModel> Models { get; set; }

    }

1 Ответ

1 голос
/ 18 октября 2019

Обычно в ASP.NET Core строка подключения конфигурации может храниться в файле appsettings.json, переменной среды, хранилище секретов пользователя или другом источнике конфигурации. См. Раздел Конфигурация

{
  "ConnectionStrings": {
   "BloggingDatabase": "Server= (localdb)\\mssqllocaldb;Database=EFGetStarted.ConsoleApp.NewDb;Trusted_Connection=True;"
},}

Контекст обычно настраивается в Startup.cs со строкой соединения, считываемой из конфигурации. Обратите внимание, что метод GetConnectionString () ищет значение конфигурации, ключом которого является ConnectionStrings :. Вам необходимо импортировать пространство имен Microsoft.Extensions.Configuration , чтобы использовать этот метод расширения.

public void ConfigureServices(IServiceCollection services)
 {
    services.AddDbContext<BloggingContext>(options =>
      options.UseSqlServer(Configuration.GetConnectionString("BloggingDatabase")));
 }

Здесь - более подробная информация.

Для оконных форм оно должно быть разным. Вы можете добавить и файл конфигурации в свой проект для хранения строки подключения. Строка подключения должна быть добавлена ​​в файл App.config вашего приложения (Web.config, если вы используете ASP.NET)

<configuration>
  <connectionStrings>
    <add name="BloggingDatabase"
         connectionString="Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;" />
  </connectionStrings>
</configuration>

Параметр providerName не требуется для строк подключения EF Core, хранящихся в App.config, поскольку поставщик базы данных настроен с помощью кода.

Затем можно прочитать строку подключения с помощью API-интерфейса ConfigurationManager в вашем контексте. Метод OnConfiguring. Вам может потребоваться добавить ссылку на сборку инфраструктуры System.Configuration, чтобы иметь возможность использовать этот API.

public class BloggingContext : DbContext
{
   public DbSet<Blog> Blogs { get; set; }
   public DbSet<Post> Posts { get; set; }

   protected override void OnConfiguring(DbContextOptionsBuilder 
   optionsBuilder)
        {
  optionsBuilder.UseSqlServer(ConfigurationManager.ConnectionStrings["BloggingDatabase"].ConnectionString);
      }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...