Задать вопрос
  • Не удается неявно преобразовать тип “string”?

    @sdfdgfhgfh Автор вопроса
    Здравствуйте. Вместо select new SomeType() может быть select new ItemViewModel()? Что- то не пойму откуда SomeType тут. Если да, то к сожалению получаю 2 ошибки.
    5bc75f8ae5eb6891655175.png5bc75f93a3fe6675199801.png
  • Две и более строки подключения и сессии?

    @sdfdgfhgfh Автор вопроса
    Дело в том, что мне более знаком C++, а C# я только начал осваивать и я немного не разберусь в синтаксисе. И это не совсем ясно куда:
    spoiler
    public connectionNames = new Dictionary<int, string>
    {
      {1, "DB1"},
      {2, "DB2"},
      {3, "DB3"},
    }
    
    var currentDb = HttpContext.Session["CurrentDb"];
    var context = new MyDbContext(connectionNames[currentDb]);

  • Две и более строки подключения и сессии?

    @sdfdgfhgfh Автор вопроса
    Не, это понятно. не совсем ясно как передать конекшин в сессию. Я предполагаю что нужно сначала сохранить в сессии значение строки подключения, а затем использовать её...
    Допустим,
    appsettings.json:
    {
      "ConnectionStrings": {
        "DefaultConnection": "Data Source=127.0.0.1;Initial Catalog=DB1;user id=sa;password=pass;",
        "DefaultConnection2": "Data Source=127.0.0.1;Initial Catalog=DB2;user id=sa;password=pass;"
      },
    
      "Logging": {
        "LogLevel": {
          "Default": "Warning"
        }
      },
      "AllowedHosts": "*"
    }

    Startup.cs:
    public void ConfigureServices(IServiceCollection services)
            {
                string connection = Configuration.GetConnectionString("DefaultConnection");
                string connection2 = Configuration.GetConnectionString("DefaultConnection2");
    
                services.AddDbContext<Context>(options =>
                    options.UseSqlServer(connection, o => o.UseRowNumberForPaging()));
    
                services.AddDbContext<Context>(options =>
                    options.UseSqlServer(connection2, o => o.UseRowNumberForPaging()));


    Что-либо сохранить в сессии я попытался следующим путём:

    HomeController:
    public class HomeController : Controller
        {
            const string SessionDB1 = "DB1";
            const string SessionDB2 = "DB2";
            public IActionResult Index()
            {
                HttpContext.Session.SetString(SessionDB1, "DB1");
                HttpContext.Session.SetString(SessionDB2, "DB2");
                return View();
            }
    
            public IActionResult About()
            {
                ViewBag.DB1 = HttpContext.Session.GetString(SessionDB1);
                ViewBag.DB2 = HttpContext.Session.GetString(SessionDB2);
                return View();
            }
    }

    Context.cs
    public Context(DbContextOptions<Context> options)
                        : base(options)
            {
                //Database.EnsureCreated();
            }
    
            public Context()
            {
            }


    Прошу сильно не пинать, я только учусь.
  • ASP.NET Core запрос?

    @sdfdgfhgfh Автор вопроса
    Спасибо за отклик! foreach помог)