voglio cambiare regole di confronto di tutto il database creato dal codice ef prima, provo a farlo eseguendo uno script dopo la creazione, ma non opere,Come cambiare/collazione impostato nel Codice EF primo
_dbContext.Database.Delete();
_dbContext.Database.CreateIfNotExists();
_dbContext.Database.ExecuteSqlCommand("ALTER DATABASE afi COLLATE French_CI_AI");
È possibile impostare le regole di confronto prima di creare il database?
Questo è l'eccezione che ottengo:
Ripristino i risultati di connessione in uno stato diverso da quello iniziale login. L'accesso non riesce. Accesso fallito per utente 'afi'. Si è verificato un errore grave nel comando corrente. I risultati, se presenti, dovrebbero essere scartati .
[SqlException (0x80131904): il ripristino dei risultati della connessione in uno stato diverso dal login iniziale. L'accesso non riesce.
Accesso non riuscito per l'utente 'afi'. Si è verificato un grave errore nel comando corrente . I risultati, se del caso, deve essere eliminata.]
(eccezione SqlException, breakConnection booleano, Action`1 wrapCloseInAction) System.Data.SqlClient.SqlConnection.OnError 388
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning (TdsParserStateObject stateObj, booleano callerHasConnectionLock, booleano asyncClose) 688
System.Data.SqlClient.TdsParser.TryRun (runBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader datastream, bulkCopyHandler BulkCopySimpleResultSet, TdsParserStateObject stateObj, booleano & dataReady) 4403
sistema .Data.SqlClient.TdsParser.Run (Ru nBehavior RunBehavior, SqlCommand cmdHandler, SqlDataReader datastream, bulkCopyHandler BulkCopySimpleResultSet, TdsParserStateObject stateObj) +84
System.Data.SqlClient.TdsParser.TdsExecuteTransactionManagerRequest (Byte [] tampone, richiesta TransactionManagerRequestType, String transactionName, TransactionManagerIsolationLevel isolivello, timeout Int32 , transazione SqlInternalTransaction, stateObj TdsParserStateObject, booleano isDelegateControlRequest) 1370
System.Data.SqlClient.SqlInternalConnectionTds.ExecuteTransactionYukon (transactionRequest transactionRequest, String transactionName, IsolationLevel iso, 012.351.SqlInternalTransaction internalTransaction, booleano isDelegateControlRequest) 674
System.Data.SqlClient.SqlInternalConnection.BeginSqlTransaction (IsolationLevel iso, String transactionName) 547
System.Data.SqlClient.SqlInternalConnection.BeginTransaction (IsolationLevel iso) +18
System.Data.SqlClient.SqlConnection.BeginDbTransaction (IsolationLevel isolationLevel) +211
System.Data.EntityClient.EntityConnection.BeginDbTransaction (IsolationLevel isolationLevel) +155[EntityException: si è verificato un errore durante l'avvio di una transazione su la connessione del provider. Vedere l'eccezione interna per i dettagli.]
System.Data.EntityClient.EntityConnection.BeginDbTransaction (IsolationLevel isolationLevel) 4.298.876
System.Data.EntityClient.EntityConnection.BeginTransaction() +10
System.Data.Objects.ObjectContext.SaveChanges (opzioni) SaveOptions 538 System.Data.Entity.Internal.InternalContext .SaveChanges() +218 Afi.Domain.Storage.AfiDbContext.SaveChanges() in c: \ inetpub \ wwwroot \ afi \ src \ Domain \ Storage \ AfiDbContext.cs: 190
Afi.Domain.Storage.EntitySession.Commit() in c: \ inetpub \ wwwroot \ afi \ src \ Domain \ Storage \ EntitySession.cs: 54
Afi.Web.Controllers.CIController.Seed (Boolean excludeSomeData) in c: \ inetpub \ wwwroot \ afi \ src \ Web \ Controller \ CIControll er.cs: 263
Afi.Web.Controllers.CIController.Index() in c: \ inetpub \ wwwroot \ AFI \ src \ Web \ Controller \ CIController.cs: 89
lambda_method (Chiusura, ControllerBase, oggetto [ ]) +81
System.Web.Mvc.ReflectedActionDescriptor.Execute (controllerContext controllerContext, IDictionary parametri) +39
System.Web.Mvc.Async. > c_DisplayClass42.b _41() +34 System.Web.Mvc.Async. <> c_DisplayClass39.b _33() +124 System.Web.Mvc.Async. <> c_DisplayClass4f.b _49() +837307 System.Web.Mvc.Async. <> c_DisplayClass4f.b _49() +837307 System.Web.Mvc.Async. <> c_DisplayClass37.b _36 (IAsyncResult asyncResult) +15
System.Web.Mvc.Async. <> c_DisplayClass2a.b _20() +33 System.Web.Mvc.Async. <> c_DisplayClass25.b _22 (IAsyncResult asyncResult) +837892
System.Web.Mvc. <> c_DisplayClass1d.b _18 (IAsyncResult asyncResult) +28
System.Web.Mvc.Async. <> c_ DisplayClass4.b _3 (IAsyncResult ar) +15 System.Web.Mvc.Controller.EndExecuteCore (IAsyncResult asyncResult) +65
System.Web.Mvc.Async. <> c_ DisplayClass4.b _3 (IAsyncResult ar) +15 System.Web.Mvc.Controller.EndExecute (IAsyncResult asyncResult) +51
System.Web.Mvc. <> c_DisplayClass8.b _3 (IAsyncResult asyncResult) +42
System.Web.Mvc.Async. <> c_ DisplayClass4.b _3 (IAsyncResult ar) +15 System.Web.Mvc.MvcHandler.EndProcessRequest (IAsyncResult asyncResult) +51
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute () +606 System.Web.HttpApplication.ExecuteStep (passo IExecutionStep, booleano & completedSynchronously) +288
Sei consapevole che anche se si cambia la fascicolazione sul database, tutti gli oggetti che sono stati creati prima della modifica manterranno le regole di confronto? Se hai una tabella con 100 righe in essa. Loro terranno le vecchie regole di confronto mentre le nuove voci avranno le nuove regole di confronto. – twoleggedhorse
Inoltre, quando si crea un database e non si specificano le regole di confronto, vengono prese le regole di confronto del server. Il server è impostato su French_CI_AI? – twoleggedhorse
vogliamo modificare le regole di confronto tra il momento in cui creiamo il database e il codice EF del tempo. Innanzitutto create le tabelle ma non sappiamo in che modo la tabella dovrebbe essere vuota. – VinnyG