我在运行时遇到以下错误Update-Database -Verbose
:
使用启动项目“WebApplication”。使用 NuGet 项目
'Web应用程序'。指定“-Verbose”标志来查看 SQL
应用于目标数据库的语句。目标数据库是:
“星冰乐”(数据源:(Localdb)\v11.0,提供者:
System.Data.SqlClient,来源:配置)。没有待定的显式
迁徙。应用自动迁移:
201402032027563_自动迁移。更改表 [dbo].[客户端] 更改
COLUMN [ID] [int] NOT NULL System.Data.SqlClient.SqlException
(0x80131904):对象“PK_dbo.Clients”依赖于列“ID”。
对象“FK_dbo.Users_dbo.Clients_Client_ID”依赖于列
'ID'。由于一个或多个对象,ALTER TABLE ALTER COLUMN ID 失败
访问此栏目。在
System.Data.SqlClient.SqlConnection.OnError(SqlException异常,
布尔中断连接、操作1 wrapCloseInAction) at
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException
exception, Boolean breakConnection, Action
1 包裹CloseInAction) 在
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject
stateObj、布尔值 callerHasConnectionLock、布尔值 asyncClose) at
System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior,
SqlCommand cmdHandler、SqlDataReader 数据流、
BulkCopySimpleResultSet BulkCopyHandler、TdsParserStateObject
stateObj、布尔值和 dataReady)位于
System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(字符串
方法名称、布尔异步、Int32 超时、布尔 asyncWrite) at
System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource)1
completion, String methodName, Boolean sendToPipe, Int32 timeout,
Boolean asyncWrite) at
System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at
System.Data.Entity.Infrastructure.Interception.InternalDispatcher
1.Dispatch[TInterceptionContext,TResult](Func1
operation, TInterceptionContext interceptionContext, Action
1
执行、行动1 executed) at
System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.NonQuery(DbCommand
command, DbCommandInterceptionContext interceptionContext) at
System.Data.Entity.Internal.InterceptableDbCommand.ExecuteNonQuery()
at System.Data.Entity.Migrations.DbMigrator.ExecuteSql(DbTransaction
transaction, MigrationStatement migrationStatement) at
System.Data.Entity.Migrations.Infrastructure.MigratorLoggingDecorator.ExecuteSql(DbTransaction
transaction, MigrationStatement migrationStatement) at
System.Data.Entity.Migrations.DbMigrator.ExecuteStatementsInternal(IEnumerable
1
迁移语句、DbConnection 连接)位于
System.Data.Entity.Migrations.DbMigrator.c_DisplayClass32.b_2e()
在
System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.c_显示类1.b_0()
在
System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute[TResult](Func1
operation) at
System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute(Action
operation) at
System.Data.Entity.Migrations.DbMigrator.ExecuteStatements(IEnumerable
1
迁移声明)位于
System.Data.Entity.Migrations.Infrastruct.MigratorBase.ExecuteStatements(IEnumerable1
migrationStatements) at
System.Data.Entity.Migrations.DbMigrator.ExecuteOperations(String
migrationId, XDocument targetModel, IEnumerable
1 次操作,
IE可枚举1 systemOperations, Boolean downgrading, Boolean auto)
at System.Data.Entity.Migrations.DbMigrator.AutoMigrate(String
migrationId, XDocument sourceModel, XDocument targetModel, Boolean
downgrading) at
System.Data.Entity.Migrations.Infrastructure.MigratorLoggingDecorator.AutoMigrate(String
migrationId, XDocument sourceModel, XDocument targetModel, Boolean
downgrading) at
System.Data.Entity.Migrations.DbMigrator.Upgrade(IEnumerable
1
endingMigrations、字符串 targetMigrationId、字符串 lastMigrationId)
在
System.Data.Entity.Migrations.Infrastruct.MigratorLoggingDecorator.Upgrade(IEnumerable`1
endingMigrations、字符串 targetMigrationId、字符串 lastMigrationId)
在 System.Data.Entity.Migrations.DbMigrator.UpdateInternal(字符串
目标迁移)在
System.Data.Entity.Migrations.DbMigrator.c_显示类c.b_b()
在
System.Data.Entity.Migrations.DbMigrator.EnsureDatabaseExists(操作
必须成功保留数据库)位于
System.Data.Entity.Migrations.Infrastruct.MigratorBase.EnsureDatabaseExists(操作
必须成功保留数据库)位于
System.Data.Entity.Migrations.DbMigrator.Update(字符串
目标迁移)在
System.Data.Entity.Migrations.Infrastruct.MigratorBase.Update(字符串
目标迁移)在
System.Data.Entity.Migrations.Design.ToolingFacade.UpdateRunner.Run()
在 System.AppDomain.DoCallBack(CrossAppDomainDelegate
回调委托)在
System.AppDomain.DoCallBack(CrossAppDomainDelegate callBackDelegate)
在 System.Data.Entity.Migrations.Design.ToolingFacade.Run(BaseRunner
跑步者)在
System.Data.Entity.Migrations.Design.ToolingFacade.Update(字符串
targetMigration,布尔力)位于
System.Data.Entity.Migrations.UpdateDatabaseCommand.c_DisplayClass2.<.ctor>b_0()
在
System.Data.Entity.Migrations.MigrationsDomainCommand.Execute(操作
命令)ClientConnectionId:9854ba62-772c-4ba6-b185-ecae993e065f
对象“PK_dbo.Clients”依赖于列“ID”。物体
“FK_dbo.Users_dbo.Clients_Client_ID”取决于列“ID”。
由于一个或多个对象访问,ALTER TABLE ALTER COLUMN ID 失败
本专栏。
我在此之前所做的是改变ID
来自我的变量代码优先模型课程来自Int16
to Int32
.
有什么帮助吗?
看起来数据库无法更改/删除 ID 列,因为另一个表具有引用 ID 列的外键。如果您删除引用,更新列,然后重新添加引用,您应该可以继续...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)