У меня есть приложение .net Core, и я пытался прочитать из моего локального экземпляра SQL Server (2014) с проверкой подлинности Windows и продолжаю сталкиваться с повторяющейся ошибкой в строке подключения. Я просматривал документы MSDN, а также connectionstrings.com и подумал, что все настроено правильно.
Это моя ошибка:
"System.ArgumentException: 'Формат строки инициализации
не соответствует спецификации, начиная с индекса 0. '"
Что я имею в виду в самом начале моей строки подключения.
Я прочитал другие посты, связанные с этой конкретной проблемой, но не смог использовать их, чтобы найти решение.
Вот что я пытаюсь сделать, когда происходит ошибка:
public class HomeController : Controller
{
private ModelContext _context;
public HomeController()
{}
public IActionResult Index()
{
var viewModel = new HomeViewModel();
var optionsBuilder = new DbContextOptionsBuilder<ModelContext>();
optionsBuilder.UseSqlServer("DefaultConnection");
using (_context = new ModelContext(optionsBuilder.Options))
{
>>>>>> viewModel.List = _context.TableName.ToList(); <<<<<<<<
В моем файле "appsettings.json" есть следующее:
"ConnectionStrings": {
"DefaultConnection": "Server=MyComputerName; Database=DBName; IntegratedSecurity=SSPI;"
},
В моем файле "ModelContext.cs"
public class ModelContext : DbContext
{
public ModelContext(DbContextOptions<ModelContext> options)
:base(options)
{ }
[<Table Properties>]
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer("DefaultConnection");
}
И «Startup.cs» Файл:
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.Configure<CookiePolicyOptions>(options =>
{
// This lambda determines whether user consent for non-essential cookies is needed for a given request.
options.CheckConsentNeeded = context => true;
options.MinimumSameSitePolicy = SameSiteMode.None;
});
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
services.AddDbContext<ModelContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
}
Спасибо, что заглянули!