Ответ от Хаукингера частично верен, но в нем отсутствует довольно много важной информации.
Что вы хотите сделать, например:
var optionsBuilder = new DbContextOptionsBuilder<CrossSettingContext>();
optionsBuilder.UseSqlite( @"Data Source=CustomerDB.db" );
Однако вам ничего не нужно Контейнер Specifi c ВСЕ здесь. Все, что вам действительно нужно, это:
containerRegistry.RegisterInstance(optionsBuilder.Options);
На самом деле вам не нужно регистрировать CrossSettingContext
, если вы хотите новый экземпляр каждый раз, когда он разрешается. Хотя вы можете сделать следующее, если вам нужен синглтон:
containerRegistry.RegisterSingleton<CrossSettingContext>();
Когда вы хотите использовать его, вы можете просто вставить контекст в вашу ViewModel / Services, например:
public class ViewAViewModel
{
public ViewAViewModel(CrossSettingContext context)
{
// Do Stuff
}
}