Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 23619|Atbildi: 0

[Avots] EF koda pirmais atribūta virknes tips pievieno indeksa rekvizītus

[Kopēt saiti]
Publicēts 23.11.2017 18:47:15 | | | |
Ja vēlaties izveidot indeksu un paātrināt vaicājumu, pievienojiet atribūtam [Indekss] un automātiski ģenerējiet kodu šādi:

Mēs atjauninām datu bāzes datu bāzi, un kļūda ir šāda:



System.Data.SqlClient.SqlException (0x80131904): tabula 'dbo. Sleju "Tālrunis" sadaļā "Konts" nevar izmantot kā indeksa galveno kolonnu.
   pie System.Data.SqlClient.SqlConnection.OnError(SqlException izņēmums, Būla pārtraukumsConnection, Action'1 wrapCloseInAction)
   pie System.Data.SqlClient.SqlInternalConnection.OnError(SqlException izņēmums, Būla pārtraukumsConnection, Action'1 wrapCloseInAction)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Būla zvanītājsHasConnectionLock, Būla asyncClose)
   In System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Būla asinhrons, Int32 taimauts, Būla asyncWrite)
   In System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource'1 completion, String methodName, Būla sendToPipe, Int32 taimauts, Boolean& usedCache, Būla asyncWrite, Būla inRetry)
   Sistēmā System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   Sadaļā System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher. <NonQuery>b__0(DbCommand t, DbCommandInterceptionContext'1 c)
   Sadaļā System.Data.Entity.Infrastructure.Interception.InternalDispatcher'1.Dispatch[TTarget,TInterceptionContext,TResult](TTarget mērķis, Func'3 operācija, TInterceptionContext interceptionContext, Action'3 izpilde, Action'3 izpildīta)
   Sadaļā System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.NonQuery(DbCommand komanda, DbCommandInterceptionContext interceptionContext)
   Sadaļā System.Data.Entity.Internal.InterceptableDbCommand.ExecuteNonQuery()
   Sadaļā System.Data.Entity.Migrations.DbMigrator.ExecuteSql(MigrationStatement migrationStatement, DbConnection savienojums, DbTransaction transakcija, DbInterceptionContext interceptionContext)
   Sadaļā System.Data.Entity.Migrations.Infrastructure.MigratorLoggingDecorator.ExecuteSql(MigrationStatement migrationStatement, DbConnection savienojums, DbTransaction transakcija , DbInterceptionContext interceptionContext)
   System.Data.Entity.Migrations.DbMigrator.ExecuteStatementsInternal(IEnumerable'1 migrationStatements, DbConnection savienojums, DbTransaction transakcija, DbInterceptionContext interceptionContext)
   Sadaļā System.Data.Entity.Migrations.DbMigrator.ExecuteStatementsWithinTransaction(IEnumerable'1 migrationStatements, DbTransaction transakcija, DbInterceptionContext interceptionContext)
   Sadaļā System.Data.Entity.Migrations.DbMigrator.ExecuteStatementsWithinNewTransaction(IEnumerable'1 migrationStatements, DbConnection connection, DbInterceptionContext interceptionContext)
   Sadaļā System.Data.Entity.Migrations.DbMigrator.ExecuteStatementsInternal(IEnumerable'1 migrationStatements, DbConnection connection, DbInterceptionContext interceptionContext)
   System.Data.Entity.Migrations.DbMigrator.ExecuteStatementsInternal(IEnumerable'1 migrationStatements, DbConnection connection)
   vietnē System.Data.Entity.Migrations.DbMigrator.<>c__DisplayClass32. <ExecuteStatements>b__30()
   Sadaļā System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.<>c__DisplayClass1. <Execute>b__0()
   pie System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute[TResult](Func'1 operation)
   Sadaļā System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute(Darbības operācija)
   Sadaļā System.Data.Entity.Migrations.DbMigrator.ExecuteStatements(IEnumerable'1 migrationStatements, DbTransaction existingTransaction)
   Sadaļā System.Data.Entity.Migrations.DbMigrator.ExecuteStatements(IEnumerable'1 migrationStatements)
   vietnē System.Data.Entity.Migrations.Infrastructure.MigratorBase.ExecuteStatements(IEnumerable'1 migrationStatements)
   In System.Data.Entity.Migrations.DbMigrator.ExecuteOperations(String migrationId, VersionedModel targetModel, IEnumerable'1 operations, IEnumerable'1 systemOperations, Būla pazemināšana, Būla auto)
   vietnē System.Data.Entity.Migrations.DbMigrator.ApplyMigration(DbMigration migrācija, DbMigration lastMigration)
   vietnē System.Data.Entity.Migrations.Infrastructure.MigratorLoggingDecorator.ApplyMigration(DbMigration migrācija, DbMigration lastMigration)
   System.Data.Entity.Migrations.DbMigrator.Upgrade(IEnumerable'1 pendingMigrations, String targetMigrationId, String lastMigrationId)
   vietnē System.Data.Entity.Migrations.Infrastructure.MigratorLoggingDecorator.Upgrade(IEnumerable'1 pendingMigrations, String targetMigrationId, String lastMigrationId)
   vietnē System.Data.Entity.Migrations.DbMigrator.UpdateInternal(String targetMigration)
   Sadaļā System.Data.Entity.Migrations.DbMigrator.<>c__DisplayClasse. <Update>b__d()
   vietnē System.Data.Entity.Migrations.DbMigrator.EnsureDatabaseExists(Action mustSucceedToKeepDatabase)
   vietnē System.Data.Entity.Migrations.Infrastructure.MigratorBase.EnsureDatabaseExists(Action mustSucceedToKeepDatabase)
   vietnē System.Data.Entity.Migrations.DbMigrator.Update(String targetMigration)
   Sadaļā System.Data.Entity.Migrations.Infrastructure.MigratorBase.Update(String targetMigration)
   vietnē System.Data.Entity.Migrations.Design.ToolingFacade.UpdateRunner.RunCore()
   Sadaļā System.Data.Entity.Migrations.Design.ToolingFacade.BaseRunner.Run()
ClientConnectionId:2b5f614b-caab-4be6-bc1b-a813b7356739
Kļūdas numurs: 1919, valsts: 1, klase: 16
Tabula 'dbo. Sleju "Tālrunis" sadaļā "Konts" nevar izmantot kā indeksa galveno kolonnu.


Kļūdas iemesls ir tāds, ka visi ef virknes rekvizīti pēc noklusējuma ir NVARCHAR(Max) tipa,

Risinājums ir šāds:

Izpildiet virknes garumu





Kā parādīts attēlā, radīšana ir veiksmīga!





Iepriekšējo:Kā saglabāt virknes, kas garākas par 4000 rakstzīmēm NHibernate 3.3
Nākamo:C# kodēšanas masīvi
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com