在 EF 中的模型 class 上添加具有 Required 属性的迁移

Add migration with Required attribute on model class in EF

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

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

我如何添加一个迁移,使我的 MyBoxDimension 有一个新的默认值 object/value?

您不需要向复杂类型添加必需属性,因为复杂类型总是 必需 (more info):

var user = new MyBox()
{
    Dimensions = new MyBoxDimension()
};

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

add-migration FirstMigration

然后你可以这样更新你的数据库:

update-database -Verbose

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

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