Czy ktoś wie, w jaki sposób uzyskać informacje o schemacie z edytora edmx Entity Framework?Odczytaj metadane klucza obcego programowo za pomocą Entity Framework 4
W szczególności chcę poradzić sobie z kluczem obcym dla podmiotu, którego obecnie nie posiadam i uzyskać jego kluczowe relacje zagraniczne, i chcę to zrobić poprzez odbicie w sposób, który będzie generalnie stosowane do każdej klasy encji bez niestandardowego kodu za każdym razem.
EG: Mój schemat ma 2 klasy, użytkownika i grupę. Mam numer "42", o którym wiem, że pochodzi z właściwości "GroupId" jednostki "User", ale w tej chwili nie mogę znaleźć sposobu, aby wykryć, że ta właściwość "GroupId" obcego klucza "User" do encja "Grupa" według jej właściwości "GroupId".
nie mogę uzyskać to do pracy. Nie mogłem znaleźć właściwości RelationshipManager w kontekście (chociaż mogę uzyskać ją przez CType (tableObject, IEntityWithRelationships) .RelationshipManager), a następnie po wykonaniu tej czynności nie mogłem znaleźć wyników z GetRelatedEnds, które mogłyby zostać przesłane do AssociationSet. Przykład kodu byłby głęboko doceniony. – pbarranis
Hej, przepraszam za opóźnioną odpowiedź - nie czytałem tego od dłuższego czasu. Powinienem był bardziej jasne, że pracuję z ObjectStateEntry, a nie bezpośrednio z kontekstu. Dokładna składnia, z której korzystałem, to "foreach" (AssociationSet assoc w ose.RelationshipManager.GetAllRelatedEnds(). Wybierz (end => end.RelationshipSet) .Where (rs => rs to AssociationSet && ((AssociationSet) rs) .ElementType. IsForeignKey) .Cast()) ", następnie miałem trochę dodatkowej logiki, aby ustalić, po której stronie był, ponieważ chciałem tylko specyficznych multiplikacji kluczy obcych. –
fyjham