0

我是 stackoverflow 的新手,我搜索了整个网站和 msdn,但一无所获。我希望你能帮帮我!

我想在一个.sdf文件中有一个 Linq-to-SQL 数据库。于是我在ORM设计器中为Linq-to-SQL设计了数据库sheme,并编写了如下代码:

DataShemeDataContext context = new DataShemeDataContext("Data Source=database.sdf");
if (!context.DatabaseExists())
  context.CreateDatabase();
Console.ReadLine();

我的问题如下:

  • 当我运行程序并通过按键退出时Enter,一切都很好
  • 但是如果我单击控制台窗口顶部的“X”按钮,数据库文件只有 20kb 大小(而不是 84kb)并且它是空的。

使用这条线:

context.SubmitChanges();

没什么区别。

我希望你能帮帮我!

4

1 回答 1

1

用 using 包围您的代码:

using(DataShemeDataContext context = new DataShemeDataContext("Data Source=database.sdf"))
{
    if (!context.DatabaseExists())
        context.CreateDatabase();
}
Console.ReadLine();

这样,您可以确定您的上下文已正确处理。

于 2012-08-17T09:08:49.117 回答