EF Code First를 사용하는 데 약간의 문제가 있습니다. 그래프 구조를 모델링합니다. 내 응용 프로그램 내의 수많은 구체적인 객체가 여러 유형의 에지와 관련된 노드가 될 수있는 상황이 있습니다.EF CF 방향성 그래프 모델링 CF
예를 들어, 두 사용자 오브젝트 (같은, 혐오가 관련)의 관계를 가질 수 있지만, 각각의 동등 개체의 다른 형태에 관한 수
("볼"페이지 등의 메시지를 "좋아") 이 응용 프로그램 내에서 모델을 만들려면 모든 가능한 노드가 상속되는 GraphNode의 기본 클래스를 사용하고 각 GraphNode에는 모서리 모음이 있습니다. 각 Edge에는 SourceNode, DestinationNode 및 RelationshipType (가중치로 사용)이 있습니다.
나는이 객체를 소스 객체 ID와 DestObjectObjectID 필드가 연결된 에지, SourceObjectType 및 DestinationObjectType 필드의 PK가되는 직선적 인 데이터베이스 우선 개발로 모델링하는 방법을 알고 있습니다. 이는 관련 객체의 유형이지만 사이트에는 EF 코드 첫 구현이 필요합니다.
필자는 TPT 상속을 사용하고 있으므로 GraphNodeID 인 PK가있는 GraphNode 테이블을 얻었습니다.하지만이 테이블을 각각의 테이블에 대해 PK로 사용하고 있습니다. 문제를 야기 할 자체 PKs 대신에 구체적인 유형을 사용합니다.
누구든지이 작업을 수행 했습니까? 아니면 누구든지이 작업을 수행 할 수있는 올바른 방향을 제시 할 수 있습니까?
거의 내가하고 결국 한 것 같은 소리를. 내가 기대했던 것만 큼 우아하지는 않을지 모르지만, 분명히 내가 알고있는 패턴이다. 나는 일종의 node-less 버전을 선택할 것이다. 그래서 EF 엔티티는 단지 SourceID, SourceType, DestinationID, DestinationType 및 RelationshipType이있는 Edge 일 뿐이다. 제안한대로, 나는 관계는 지정된 유형 및 ID에 의한 선택을 기반으로 데이터베이스에서 제외됩니다. –