表仅在运行时保存

时间:2014-04-24 10:17:23

标签: c# visual-studio-2010 entity-framework

我是使用Entity Framework并使用Model First方法的新手。然后我尝试创建一个表,但是当程序关闭时它就消失了。

我的代码:

using (var objCtx = new EntityModelContainer())
                {
                    //Inserting Student using ExecuteStoreCommand
                    string command = "CREATE TABLE clients (Id INTEGER, Name nvarchar(4000))";
                    int InsertedRows = objCtx.ExecuteStoreCommand(command);
                }

如何永久保存表格?

2 个答案:

答案 0 :(得分:1)

因为你正在使用“使用”意味着你正在处理它。如果您不想处理它,请尝试以下。

var objCtx = new EntityModelContainer()
                {
                    //Inserting Student using ExecuteStoreCommand
                    string command = "CREATE TABLE clients (Id INTEGER, Name nvarchar(4000))";
                    int InsertedRows = objCtx.ExecuteStoreCommand(command);
                    objCtx.SaveChanges();
                }

有关更多信息: -

http://msdn.microsoft.com/en-us//library/yh598w02.aspx

http://www.codeproject.com/Articles/6564/Understanding-the-using-statement-in-C

如上文所述

  

using语句仅对具有生命周期的对象有用   不超出对象的方法   建造。请记住,您实例化的对象必须实现   System.IDisposable接口。

     

vb.net中的using语句没有等价物。你必须   使用try finally块。

您需要在代码中添加objCtx.SaveChanges();

答案 1 :(得分:1)

objCtx.SaveChanges();被处置之前,您需要添加ojbCtx