मेरे पास SQL सर्वर सीई 4.0 का उपयोग कर एक एएसपी.नेट एमवीसी 3 बीटा वेबसाइट है।ईएफ 4 मेरा डेटाबेस फिर से बनाने का प्रयास क्यों कर रहा है भले ही मॉडल नहीं बदला गया हो?
File already exists. Try using a different database name. [ File name = D:\Sourcecode\NerdDinner\NerdDinner\App_Data\NerdDinners.sdf ] Line 17: public ActionResult Index() Line 18: { Line 19: var dinners = from d in nerdDinners.Dinners Line 20: where d.EventDate > DateTime.Now Line 21: select d; [SqlCeException (0x80004005): File already exists. Try using a different database name. [ File name = 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() in D:\Sourcecode\NerdDinner\NerdDinner\Controllers\HomeController.cs:19
मैं समझ नहीं क्यों यह एक मौजूदा .dbf फ़ाइल और अन्य समय इसके साथ कभी कभी काम करता है: दोनों ScottGu's NerdDinner example और अपने खुद के कोड के साथ, मैं कभी कभी निम्नलिखित अपवाद जैसे ही मैंने डेटाबेस तक पहुँचने का प्रयास मिल जाएगा शिकायत। मैंने
Database.SetInitializer(new CreateDatabaseOnlyIfNotExists<...>());
के साथ डिफ़ॉल्ट व्यवहार को स्पष्ट रूप से सेट करने का भी प्रयास किया है? क्या किसी और ने इसका अनुभव किया है?
- कैसिनी को पुनरारंभ करना कोई फर्क नहीं पड़ता है।
- इस त्रुटि को प्राप्त करने के बाद आईई में रीफ्रेश मारना ठीक उसी पृष्ठ को ठीक से लोड करेगा।
अपने स्टैकट्रेस से:: 'CreateDatabaseOnlyIfNotExists' यहाँ टीम ब्लॉग से घोषणा है। ईएफ सही बात करने के लिए * कोशिश कर रहा है *। लेकिन किसी भी तरह यह जांचने के लिए कि डीबी मौजूद है या नहीं। उसमें देखो। –
यहां अजीब चीज है। .NET फ्रेमवर्क प्रतीकों/कोड को लोड करना और कोड को डीबग करना वास्तव में समस्या को होने से रोकता है। हर बार। मुझे यह नहीं मिला। – Jedidja