EF Core 를 통해 코드 우선 데이터베이스 디자인을 하면서 발견한 것들

토나올 뻔 했습니다. ㅠㅠ

보다 정확히는 다른 계층에서 음으로 양으로 사용된 데이터 베이스 관련 객체 혹은 속성을 모두 데이터 베이스 계층으로 긁어 모으는 것입니다.

사실, 이번에 이렇게 작심하고 파고든 데는 아래의 글에서 영감을 받은 부분이 작지 않습니다.

EF 강좌는 거의 대부분 Asp.Net Core 강좌와 붙어 있는데, 이러한 강좌들의 코드 구조는 은연 중에 뷰 계층과 데이터 계층이 강하게 결합된 상태가 됩니다.

이러한 강좌들만 본 저로서는, Entity 가 도대체 무엇을 가리키는지 명확하지 않은 상태였습니다.
또한, 저의 솔루션은 UI로 Asp.Core 도 쓸 예정이고, Maui 도 쓸 예정이어서, 데이터 계층이 뷰로부터 완전히 독립적이길 바라고 있었습니다.
물론 뷰 뿐만 아니라, 다른 어떤 계층도 데이터 베이스에 관한 코드 하나 남겨두지 않겠다는 마음이었죠.

그 와중에 위에 링크된 글에서 그렇게 세분화되어 있는 것이 오히려 더 좋은 구조라고 말씀하시기에, 개념도 정리하고, 향후에 재사용 가능한 솔루션 구조를 만들기로 맘 먹었었습니다.

사실, C#과 관련한 자료가 거의 없어서 힘들긴 했으나, 결국은 닷넷 문서에서 답을 찾았습니다.
그런데, 이 놈의 닷넷 문서는 알고 보면 참 멋진 글인데, 모르고 보면 읽기 전이나 읽은 후나 똑 같다는^^

그리고, Shadow Property는 EF의 정식 용어입니다.
Shadow and Indexer Properties - EF Core | Microsoft Learn

2개의 좋아요