我是使用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);
}
如何永久保存表格?
答案 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
。