2010-08-11 90 views
1

可以说我有一个数据库在c:\ database.mdf 使用context.DatabaseExists(“c:\ database.mdf”) 或只是简单地使用File.exists( “c:\ database.mdf”)?Linq to Sql数据库上存在

我问这个,因为我得到了奇怪的行为形式DatabaseExists方法: 它告诉我,有时是c:\ database.mdf存在,但它不存在,因为我 手动删除Windows资源管理器的文件。

我失踪了什么?

回答

1

DatabaseExists实际上试图打开到数据库的连接。这意味着它必须是一个有效的数据库。

FileExists仅检查具有该名称的文件是否存在,而不是该文件是否有效。

您可以创建一个.txt文件并将其重命名为database.mdf。 FileExists将返回true,而DatabaseExists将返回false。

+0

好吧,我明白,但在我的情况下,我手动删除我的文件 和CreateDatabase方法抛出一个异常,说数据库名称已经存在。 – 2010-08-11 01:26:17

+0

是否可以将其从项目中删除而不是删除它? – jwsample 2010-08-11 01:39:40