我正在创建一个部分视图,以允许最终用户为以后的提交添加项目。
我将以下类定义为ViewModel:
public class AddItemsContext : DbContext
{
public DbSet<Item> Items { get; set; }
}
连接字符串:
然后我有一个AJAX调用,它使用此函数将项添加到我的partialview:
[HttpPost]
public ActionResult Index_AddItem(SearchedItem viewModel, string Text, string Value)
{
AddItemsContext db = new AddItemsContext();
string test = Request.Form.GetValues("cbxPerm")[0].ToString(); // to be used later
Item NewItem = new Item();
NewItem.ItemName = "test"; // just set it to a temp var for testing
db.Items.Add(NewItem);
db.SaveChanges();
return PartialView("_AddItems", db.Items);
}
项目列表确实在我的局部视图中构建,但后来我注意到即使停止并重新启动我的应用程序后列表仍然存在。我以为它可能是在SQL DB中编写,但我也没有在那里看到它。
我发现了这个:where is data stored?但除了主应用程序的数据库之外,我没有定义任何其他数据源。
我还读到了这个:DbContext disposing?似乎是说数据应该在退出时处理。
此部分视图需要在提交表单以进行数据库写入之前添加/删除项目。
我试图了解数据永久存储的原因/位置?