없이 Foo
의 필수 속성을 엔티티 프레임 워크 필수 속성은 관계
class Foo()
{
Guid FooId;
Bar Bar;
}
class Bar()
{
Guid BarId;
}
Bar
Foo
와
Bar
사이에 데이터베이스 관계가 없습니다.
Foo
에
Bar
을 할당하면
Foo
을 삭제하지 않고 해당 데이터베이스에서
Bar
을 삭제해도됩니다.
유창한 API에서 어떻게 구성 되나요? 내가하려고하면 내가 entity.HasOne(e => e.Bar).WithMany().IsRequired();
엔티티 프레임 워크가 Foo
와 Bar
사이의 데이터베이스에서 관계를 생성하려고하면
entity.Property(e => e.Bar)
.IsRequired();
엔티티 프레임 워크 마이그레이션 오류를
The property 'Bar' cannot be added to the entity type 'Foo' because a navigation property with the same name already exists on entity type 'Foo'
가 발생합니다.
Bar
은 (는) 관련성을 나타내지 않고 Foo
의 필요한 속성을 만들어냅니다.
그래서 @Dmitry 우리는'Foo.Bar'를 사용하여 탐색 할 수 있기를 원한다면 관계가 있어야합니다. – Vague
예. DB에 관계가 있고 (또는 EF가 그것에 대해 알고 있고 도움이되는) 관계가 없거나 객체간에 이동하고 "수동으로" "무결성을 적용"합니다. – Dmitry
한 메모 더. 'DeleteBehavior.SetNull' 액션이 있습니다 - 앱이'Bar' 레코드가 삭제 될 때 앱이'Foo.BarId'를 null로 설정하면 괜찮습니다 -이 행동 값과 관계를 만들 수 있습니다. – Dmitry