Przenoszę starą aplikację ASP do nowoczesnej wersji .NET, aby skrócić czasy programowania, których szukamy w platformie .NET 4.0 Entity. Wydaje się jednak, że w tym opracowaniu trafiliśmy na mur z cegły.Zagadnienie implementacji tabeli na hierarchię i dziedziczenia
Podana jest niewielka część naszej bazy danych: Tabela OBJECT zawiera listę samochodów i ich właściwości. Posiadamy również tabelę OBJECT_OPTIONS, która zawiera, dla danego samochodu w OBJECT, listę OPCJI, AKCESORIÓW i STANDARDOWEGO SPRZĘTU. Wszystkie te trzy typy mają te same pola i dlatego są przechowywane w tej samej tabeli. Kolumna ncopt_type służy do rozróżniania różnych list. Możliwe wartości to: "opt", "acc" i "sta". Tabela OBJECT_OPTIONS łączy się z OBJECT poprzez ncopt_obj_id, który reprezentuje unikalny samochód (obj_id) w tabeli OBJECT.
Naszym celem jest zapewnienie jednostce obiektu z 3 właściwości, które odwołują się do różnych list OBJECT_OPTIONS: - obiektu.W - akcesoria i usługi - nieruchomość STANDARDEQUIPMENT
Próbowaliśmy różnych samouczki i instruktaże dotyczące tabeli -per-hierarchy za pośrednictwem modelu dziedziczenia, ale nie udało się utworzyć modelu do zbudowania.
Technicznie co zrobiliśmy było:
- Tworzenie jednostki OBIEKT
- Tworzenie jednostki OBJECT_OPTIONS, sprawiają, że abstrakcyjne
- Dodaj podmioty opcją, akcesoriów i STANDARD_EQUIP wszystkie wykorzystujące OBJECT_OPTIONS basetype
- Dodaj warunki dla wszystkich trzy tabele na ncopt_type = '...'
- Dodaj 3 właściwości nawigacyjne do OBJECT, wszystkie łączą do jednego z odziedziczonych elementów: OPCJE, AKCESORIA i STOISKO AARD_EQUIPMENT
Pęczek błędów pojawia się w tym układzie, ale kończy się z tego:
błędu 3032 Problem fragmenty mapowania począwszy od linii 250, 286: EntityTypes NCO.Model. OPTION, NCO.Model.ACCESSOIRE, NCO.Model.STANDAARD_EQUIP są mapowane na te same wiersze w tabeli OBJECT_OPTIES. Warunki odwzorowania można wykorzystać do rozróżnienia wierszy, do których są odwzorowywane te typy.
Na wszystkich trzech obiektach występuje jednak stan.
Nie znalazłem rozwiązania tego problemu i spędziłem na nim zbyt dużo czasu. Obecnie używamy metody obejścia, ale chcielibyśmy to naprawić, ponieważ ta sytuacja pojawi się jeszcze kilka razy pod koniec projektu.
Każda pomoc doceniona, jeśli potrzebujesz więcej informacji, napisz do mnie komentarz lub e-mail.
Tak, ehm, nikt nie wie? –
Wygląda na to, że nie. Mam ten sam problem, ... może to tylko my dwa! – Stimul8d
Czy możesz dołączyć obraz odpowiednich tabel i odpowiednich elementów z edmx? - Pomogłoby to wyjaśnić, co próbujesz zrobić. Zostaw komentarz tutaj po edycji. –