Entity Framework 엔터티 모델 내에서 "하위 모델"을 가질 수 있는지 궁금합니다.
예를 들면 다음과 같습니다.
public class User
{
public int Id { get; set; }
public UserPermissions Permissions { get; set; }
}
public class UserPermissions
{
public bool CanRead { get; set; }
public bool CanWrite { get; set; }
}
그러면 실제 테이블에는 다음과 같은 열이 있습니다.
Id
CanRead
CanWrite
또는 다음과 같이 접두사를 사용합니다.
Id
Perm_CanRead
Perm_CanWrite
그게 문제야? 당신이 알고 있는 대안이 있습니까? 아니면 다음과 같은 기본/추상 클래스를 사용하는 것이 가장 좋은 방법 public class User : UserPermissions { }
입니까?
예, 이것은 소유 엔터티를 사용하여 EF Core에서 가능합니다. 문서 는 그것을 꽤 잘 설명하지만 예를 들어 다음과 같이 할 수 있습니다.
[Owned]
public class StreetAddress
{
public string Street { get; set; }
public string City { get; set; }
}
public class Order
{
public int Id { get; set; }
public StreetAddress ShippingAddress { get; set; }
}
또는 유창한 API 사용을 선호하는 경우:
modelBuilder.Entity<Order>().OwnsOne(p => p.ShippingAddress);
다음과 같은 테이블을 제공합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다