C# 在EF中的模型类上添加具有必需属性的迁移

C# 在EF中的模型类上添加具有必需属性的迁移,c#,entity-framework,entity-framework-migrations,C#,Entity Framework,Entity Framework Migrations,我已经在EF中创建了一个模型。现在我发现我需要向模型中添加一个新的模型类,这应该是必需的。参见这里的示例 public class MyBox { public long ID{get;set;} . . . //this is added later [Required] public virtual MyBoxDimension Dimensions{get;set;} } 如何添加迁移以使MyBoxDimension具有新的默认对象/值?您不需

我已经在EF中创建了一个模型。现在我发现我需要向模型中添加一个新的模型类,这应该是必需的。参见这里的示例

public class MyBox
{
  public long ID{get;set;}
    .
    .
    .
  //this is added later
  [Required]  
  public virtual MyBoxDimension Dimensions{get;set;}
}

如何添加迁移以使MyBoxDimension具有新的默认对象/值?

您不需要向复杂类型添加必需的属性,因为复杂类型始终是必需的:

顺便说一下,您可以通过以下方式添加迁移:

add-migration FirstMigration
然后,您可以通过以下方式更新数据库:

update-database -Verbose

为了结束这个问题,我将提供我自己的答案

我遇到的问题是,我认为迁移可以为引用属性提供默认值。
解决方案是添加一个新的迁移,该迁移将创建一个MyBoxDimensions表,然后在MyBox类构造函数中创建一个MyBoxDimension的新实例。

忘了提到我在所有复杂类型上都有虚拟实例。当我查询由DB支持的EF时,我确实可以在未设置且不需要的属性上获取空值。所以我不确定你/你的链接所指的复杂类型总是必需的…好吧,我想我现在明白了,我用错了术语。我没有使用[ComplexType]属性,所以我使用的“复杂类型”只是另一个模型类或任何你称之为它的东西
update-database -Verbose