2014-12-11 9 views
0

비교적 간단한 표가 있으며 각 Term에는 여러 부모와 자식이 있으므로 TermAssociation 테이블이 있습니다.다 대다 연관에 대한 저장 프로 시저 매핑

Term   TermAssociation 
----   --------------- 
TermID  ParentTermID 
TermName  ChildTermID 
... 

EF에서 매핑 될 때, 이것은 자신과의 다 대다 연관을 갖는 용어 엔티티를 생성합니다. 모든게 멋지다.

enter image description here

문제는 내가 모든 테이블 업데이트가 저장 프로 시저를 통과해야하는 환경에서 작동합니다. Term 엔티티에 대한 저장 프로 시저 매핑을 사용할 수는 있지만 엔티티가 아닌 연관으로 모델링 되었기 때문에 SP를 TermAssociation 테이블에 어떻게 매핑합니까?

답변

0

나는 디자이너를 통해이 작업을 수행하는 방법을 발견하지 않은,하지만 당신이 직접 edmx 파일의 XML을 편집 할 경우이 가능합니다. 협회 설정 매핑을 찾기 :

<AssociationSetMapping Name="TermAssociation" TypeName="TCPDataDictionaryModel.TermAssociation" StoreEntitySet="TermAssociation"> 
    <EndProperty Name="Term"> 
    <ScalarProperty Name="TermId" ColumnName="ParentTermId" /> 
    </EndProperty> 
    <EndProperty Name="Term1"> 
    <ScalarProperty Name="TermId" ColumnName="ChildTermId" /> 
    </EndProperty> 
</AssociationSetMapping> 

는 그 다음 AssociationSetMapping 내부 ModificationFunctionMapping를 추가합니다. InsertAssociation은 필자의 SP이며, 매개 변수로 @ParentTermId@ChildTermId이 필요합니다.

<ModificationFunctionMapping> 
    <InsertFunction FunctionName="TCPDataDictionaryModel.Store.InsertAssociation" > 
    <EndProperty Name="Term"> 
     <ScalarProperty Name="TermId" ParameterName="ParentTermId" /> 
    </EndProperty> 
    <EndProperty Name="Term1"> 
     <ScalarProperty Name="TermId" ParameterName="ChildTermId" /> 
    </EndProperty> 
    </InsertFunction> 
</ModificationFunctionMapping>