Я работаю над приложением ASP.NET MVC, которое использует 2 разных хранилища данных.Я создал 2 разных контекста для каждого соединения.Я отправил текстовые сообщения по отдельности, и оба прекрасно работают
Контекст 1:
public class DbContextA : DbContext
{
public DbContextA ()
: base("name=DbContextA ")
{
}
public virtual DbSet<Producto> Productos { get; set; }
}
Контекст 2:
public class DbContextB : DbContext
{
public DbContextB ()
: base("name=DbContextB ")
{
}
public virtual DbSet<Producto> Productos { get; set; }
}
Теперь я хочу переключаться между обоими контекстами изПосмотреть.Для этого я создал DropDownList в виде:
@using (Html.BeginForm())
{
<p>Please select the data storage mode:</p>
<div>
<select id="StorageTypes" name="StorageTypes">
<option value="1">Storage 1</option>
<option value="2">Storage 2</option>
</select>
<input type="submit" value="Accept" />
</div>
}
Но я не знаю, как заставить их работать, как я ожидал, я попытался из контроллера, как показано ниже:
private DbContextA db1 = new DbContextA();
private DbContextB db2 = new DbContextB();
private string selStorageValue;
// GET: Home
public ActionResult Index()
{
if(ViewData["Context"] != null)
{
if (ViewData["Context"].ToString() == "1")
{
var context = db1;
return View(context.Productos.ToList());
}
else if (ViewData["Context"].ToString() == "2")
{
var context = db2;
return View(context.Productos.ToList());
}
else
{
var context = db1;
return View(context.Productos.ToList());
}
} else
{
var context = db1;
return View(context.Productos.ToList());
}
}
[HttpPost]
public ActionResult Index(FormCollection form)
{
selStorageValue = form["StorageTypes"].ToString();
ViewData["Context"] = selStorageValue;
return View("Index");
}
Но я не знаю, как это сделать.Буду признателен за любую помощь!