我是一名有用的助手,将为您进行文本翻译。
第17行:公共操作结果Index() 第18行: 第19行:var晚餐=来自nerdDinners.Dinners的 第20行:其中d.EventDate > DateTime.Now 第21行:选择d;
[SqlCeException(0x80004005):文件已存在。请尝试使用不同的数据库名称。[文件名= D:\ Sourcecode \ NerdDinner \ NerdDinner \ App_Data \ NerdDinners.sdf]] System.Data.SqlServerCe.SqlCeEngine.ProcessResults(IntPtr pError,Int32 hr)+92 System.Data.SqlServerCe.SqlCeEngine.CreateDatabase()+1584 System.Data.SqlServerCe.SqlCeProviderServices.DbCreateDatabase(DbConnection connection,Nullable`1 timeOut,StoreItemCollection storeItemCollection)+287 System.Data.Objects.ObjectContext.CreateDatabase()+84 System.Data.Entity.Internal.DatabaseOperations.Create(ObjectContext objectContext)+35 System.Data.Entity.Infrastructure.Database.Create()+70 System.Data.Entity.Infrastructure.CreateDatabaseOnlyIfNotExists`1.InitializeDatabase(TContext context)+360 System.Data.Entity.Infrastructure.Database.Initialize()+272 System.Data.Entity.Internal.InternalContext.Initialize()+90 System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType)+34 System.Data.Entity.Internal.Linq.EfInternalQuery`1.Initialize()+140 System.Data.Entity.Internal.Linq.EfInternalQuery`1.get_Provider()+29 System.Data.Entity.Infrastructure.DbQuery`1.System.Linq.IQueryable.get_Provider()+34 System.Linq.Queryable.Where(IQueryable`1 source,Expression`1 predicate)+63 NerdDinner.Controllers.HomeController.Index()在D:\ Sourcecode \ NerdDinner \ NerdDinner \ Controllers \ HomeController.cs中:19
我无法弄清为什么有时候这可以使用现有的 .dbf 文件,而有时候会出现错误。我甚至尝试了显式设置默认行为。
我有一个使用SQL Server CE 4.0的ASP.NET MVC 3 Beta网站。在ScottGu的NerdDinner示例和我的代码中,有时只要我尝试访问数据库,就会出现以下异常:
文件已存在。请尝试使用不同的数据库名称。 [文件名 = D:\ Sourcecode \ NerdDinner \ NerdDinner \ App_Data \ NerdDinners.sdf]第17行:公共操作结果Index() 第18行: 第19行:var晚餐=来自nerdDinners.Dinners的 第20行:其中d.EventDate > DateTime.Now 第21行:选择d;
[SqlCeException(0x80004005):文件已存在。请尝试使用不同的数据库名称。[文件名= D:\ Sourcecode \ NerdDinner \ NerdDinner \ App_Data \ NerdDinners.sdf]] System.Data.SqlServerCe.SqlCeEngine.ProcessResults(IntPtr pError,Int32 hr)+92 System.Data.SqlServerCe.SqlCeEngine.CreateDatabase()+1584 System.Data.SqlServerCe.SqlCeProviderServices.DbCreateDatabase(DbConnection connection,Nullable`1 timeOut,StoreItemCollection storeItemCollection)+287 System.Data.Objects.ObjectContext.CreateDatabase()+84 System.Data.Entity.Internal.DatabaseOperations.Create(ObjectContext objectContext)+35 System.Data.Entity.Infrastructure.Database.Create()+70 System.Data.Entity.Infrastructure.CreateDatabaseOnlyIfNotExists`1.InitializeDatabase(TContext context)+360 System.Data.Entity.Infrastructure.Database.Initialize()+272 System.Data.Entity.Internal.InternalContext.Initialize()+90 System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType)+34 System.Data.Entity.Internal.Linq.EfInternalQuery`1.Initialize()+140 System.Data.Entity.Internal.Linq.EfInternalQuery`1.get_Provider()+29 System.Data.Entity.Infrastructure.DbQuery`1.System.Linq.IQueryable.get_Provider()+34 System.Linq.Queryable.Where(IQueryable`1 source,Expression`1 predicate)+63 NerdDinner.Controllers.HomeController.Index()在D:\ Sourcecode \ NerdDinner \ NerdDinner \ Controllers \ HomeController.cs中:19
我无法弄清为什么有时候这可以使用现有的 .dbf 文件,而有时候会出现错误。我甚至尝试了显式设置默认行为。
Database.SetInitializer(new CreateDatabaseOnlyIfNotExists<...>());
有其他人也遇到过这个问题吗?
- 重新启动Cassini似乎没有任何区别。
- 在IE中收到此错误后点击刷新将使相同页面正确加载。
CreateDatabaseOnlyIfNotExists
。EF正在尝试做正确的事情。但是,某种方式检查数据库是否存在的操作失败了。请仔细检查。 - Craig Stuntz