Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 代码首次迁移时出现外键错误:Can';t形下降柱_Asp.net Mvc_Entity Framework_Foreign Keys_Entity Framework Migrations - Fatal编程技术网

Asp.net mvc 代码首次迁移时出现外键错误:Can';t形下降柱

Asp.net mvc 代码首次迁移时出现外键错误:Can';t形下降柱,asp.net-mvc,entity-framework,foreign-keys,entity-framework-migrations,Asp.net Mvc,Entity Framework,Foreign Keys,Entity Framework Migrations,我在实体框架、迁移(数据库更新)和外键注释方面遇到了问题。 我收到的错误消息位于以下位置:updatedatabase–verbose Applying automatic migration: 201604060846578_AutomaticMigration. IF EXISTS (SELECT name FROM sys.indexes WHERE name = N'IX_OutreachSet_TargetContact' AND object_id = object_id(N'[db

我在实体框架、迁移(数据库更新)和外键注释方面遇到了问题。 我收到的错误消息位于以下位置:
updatedatabase–verbose

Applying automatic migration: 201604060846578_AutomaticMigration.
IF EXISTS (SELECT name FROM sys.indexes WHERE name = N'IX_OutreachSet_TargetContact' AND object_id = object_id(N'[dbo].[DiagnosticsSets]', N'U'))
    DROP INDEX [IX_OutreachSet_TargetContact] ON [dbo].[DiagnosticsSets]
IF EXISTS (SELECT name FROM sys.indexes WHERE name = N'IX_OutreachSet_TargetContact' AND object_id = object_id(N'[dbo].[MotivationSets]', N'U'))
    DROP INDEX [IX_OutreachSet_TargetContact] ON [dbo].[MotivationSets]
DECLARE @var0 nvarchar(128)
SELECT @var0 = name
FROM sys.default_constraints
WHERE parent_object_id = object_id(N'dbo.MotivationSets')
AND col_name(parent_object_id, parent_column_id) = 'TargetContact';
IF @var0 IS NOT NULL
    EXECUTE('ALTER TABLE [dbo].[MotivationSets] DROP CONSTRAINT [' + @var0 + ']')
ALTER TABLE [dbo].[MotivationSets] DROP COLUMN [TargetContact]
[……]

The object 'PK_dbo.MotivationSets' is dependent on column 'TargetContact'.
ALTER TABLE DROP COLUMN TargetContact failed because one or more objects access this column.
我只想有一个0:0…1的关系。就这样

我试着像这个例子中那样做


我想我自己解决了。 我只是这样做了:

如果还有人能告诉我为什么会这样我会很高兴的


谢谢大家!

我想我自己解决了。 我只是这样做了:

如果还有人能告诉我为什么会这样我会很高兴的


谢谢大家!

您可能以默认情况下迁移无法处理的方式更改了模型-例如更改标识状态、FK重命名。通过删除所有内容并重新开始,可以避免重命名,所有内容都是从头开始创建的。如果您不能从头开始怎么办?您可能以默认情况下迁移无法处理的方式更改了模型-例如更改标识状态、FK重命名。通过删除所有内容并重新开始,可以避免重命名,所有内容都是从头开始创建的。如果你不能从头开始怎么办?
 public class OutreachSet
    {
        [Key]
        [Display(Name = "Target Contact")]
        public string TargetContact { get; set; }


        [Display(Name = "Next Outreach Step")]
        public string NextOutreachStep { get; set; }

        public virtual MotivationSet MotivationSet { get; set; }
}

 public class MotivationSet
    {
        [Key, ForeignKey("OutreachSet")]
        public string TargetContact { get; set; }

        public string PowerMastery { get; set; }


        [Required]
        public virtual OutreachSet OutreachSet { get; set; }
  }