C# 存储数据的DbContext扩展方法在哪里?

C# 存储数据的DbContext扩展方法在哪里?,c#,asp.net-mvc,asp.net-mvc-4,dbcontext,C#,Asp.net Mvc,Asp.net Mvc 4,Dbcontext,我正在创建一个局部视图,以允许最终用户添加一个项目供以后提交 我将以下类定义为ViewModel: public class AddItemsContext : DbContext { public DbSet<Item> Items { get; set; } } 项目列表确实在我的局部视图中生成,但我注意到,即使在停止并重新启动我的应用程序后,列表仍然存在。我认为它可能是在SQL数据库中编写的,但我也没有在那里看到它 我发现了这一点:但除了我的主应用程序的DB之

我正在创建一个局部视图,以允许最终用户添加一个项目供以后提交

我将以下类定义为ViewModel:

    public class AddItemsContext : DbContext
{
    public DbSet<Item> Items { get; set; }
}
项目列表确实在我的局部视图中生成,但我注意到,即使在停止并重新启动我的应用程序后,列表仍然存在。我认为它可能是在SQL数据库中编写的,但我也没有在那里看到它

我发现了这一点:但除了我的主应用程序的DB之外,我没有定义任何其他数据源

我还读到:这似乎是说数据应该在退出时处理

在提交表单进行DB写入之前,此部分视图需要添加/删除项


我正在试图了解数据永久存储的原因/位置?

您是否在网站的
App\u data
目录中查找
.mdf
文件?你能发布你的连接字符串吗?另一方面,除非您的
Items
表将包含非常少的项,否则在尝试将表中的所有项返回到视图时,您将很快遇到缩放问题-您实际上是在将
SELECT*FROM Items
传递到视图。您也没有处理
DbContext
,这将导致数据库连接泄漏,并且在视图访问
db.Items
属性时可能会发生
ObjectDisposedException
(或类似情况)。添加到视图中的项目不会超过10个左右。我仅有的.mdf文件是aspnetdb.mdf,但日期/时间是10个月前的。甚至不知道那是什么;我以后再调查。这是新代码;我只是想让列表显示出来,并一直认为它可以正常工作,直到我注意到列表在调试会话之间一直存在。。。。这是我的连接字符串:根据该连接字符串,您的数据似乎存储在本地计算机上名为
SQLExpress
的SQL Server实例中,网站运行在名为
MyApp
的数据库中。啊,仔细检查,我发现它创建了一个名为:MyApp.ViewModels.addItems的新数据库,其中包含一个名为dbo.Items的表。我不确定我是否希望这一切发生也许我走错了方向。。。。我希望在局部视图中维护/传递列表;在表单提交之前不将其永久存储在数据库中。但是,它需要存储在我的真实数据库中。
        [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);
    }