У меня есть основной профиль сущности, который имеет свойство Name, являющееся объектом значения. Объект Name имеет два свойства: First и Last. Когда я использую Fluent API для сопоставления свойств объектов Name со столбцами в таблице профиля, я указываю, что они обязательны. Когда я создаю миграцию, он говорит, что nullable - это правда. Я предполагаю, что это связано с тем фактом, что в EF Core 3.0 собственные объекты теперь являются необязательными, но как мне сказать EF, что они действительно необходимы?
public class Profile
{
public Name Name { get; private set; }
...
}
public class Name
{
public string First { get; }
public string Last { get; }
...
}
public override void Configure(EntityTypeBuilder<Profile> builder)
{
base.Configure(builder);
builder.OwnsOne(
navigationExpression: p => p.Name,
buildAction: n =>
{
n.Property(n => n.First)
.HasColumnName("NameFirst")
.HasMaxLength(25)
.IsRequired();
n.Property(n => n.Last)
.HasColumnName("NameLast")
.HasMaxLength(25)
.IsRequired();
});
}
Любая помощь, которую вы можете оказать, была бы полезной.