3
2つのクラス(エンティティ)があり、除外と期間があり、期間の免除とIDからIdNumberで一意のインデックスを作成します。asp.net core 2つの列の制約を作成します。そのうち1つは別のエンティティです
流暢APIを使用して public class Exemption
{
[Key]
public int Id { get; set; }
[Required]
public string FirstName { get; set; }
.
.
.
[Required]
public string IdNumber { get; set; }
[Required]
public Period Period { get; set; }
}
public class Period
{
[Key]
public int Id { get; set; }
.
.
.
[Required]
public string Year { get; set; }
}
は私がOnModelCreating内.HasIndexを追加しましたが、移行
を追加するときにエラーbuilder.Entity<Exemption>().HasIndex(c => new { c.IdNumber, c.Period }).IsUnique();
は、次のエラーを得てしまいました私はc.Period.Id
にbuilder.Entity<Exemption>()
.HasIndex(c => new { c.IdNumber, c.Period.Id }).IsUnique();
を追加しようとした
The properties expression 'c => new <>f__AnonymousType5`2(IdNumber = c.IdNumber, Id = c.Period.Id)' is not valid. The expression should represent a property access: 't => t.MyProperty'. When specifying multiple properties use an anonymous type: 't => new { t.MyProperty1, t.MyProperty2 }'.
は、私がどのようにPeriod.Id あたりIdNumberごとに1つだけ免除を許可する必要があり、次のエラー
The property 'Period' cannot be added to the entity type 'Exemption' because a navigation property with the same name already exists on entity type 'Exemption'.
を得ました私はEF Core 1.0でそれをしますか?
あなたは明示的に外部キーを追加する必要があります