Ich muss zwei verschiedene Klassen in derselben Ansicht zuordnen und einen Fehler erhalten, dass eine doppelte Zuordnung vorhanden ist. Ist das in NHibernate möglich? Wenn nicht, kann mir jemand Anweisungen geben, wie ich dieses Kartierungsproblem lösen kann.NHibernate: Zuordnen mehrerer Klassen zu derselben Ansicht
Ich arbeite mit Ansichten, die in Stein gemeißelt sind. Eine Ansicht bringt Daten zurück, die zur Aufteilung in zwei Klassen benötigt werden. Die Ansicht wie folgt aussieht:
vw_player_points
----------------
Id
GameID
PlayerID
Points
Die Klassen müssen ‚Spieler‘ sein, mit einer Liste von Spielen gespielt
select gameid from vw_player_points where playerid = <PlayerID>
Und jedes ‚Spiel‘ muss eine Liste der Spieler und ihre Punkte:
select playerid, points from vw_player_points where gameid = <GameID>
ich habe versucht, Tisch-per-Beton Klassenvererbung aswell als Abbildung auf die gleiche Ansicht zweimal, aber haben keine Freude hatte :(
Hier sind die 'groben' Mappings in ein XML-Snippet. Beachten Ich muss auch an eine Schnittstelle Karte (die funktioniert)
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="DomainModel" namespace="Test">
<class name="IPlayer" abstract="true">
<id name="Id" column="id">
<generator class="assigned"/>
</id>
<union-subclass name="Player" table="vw_player">
<bag name="Games">
<key column="player_id"/>
<one-to-many class="Test.IGame" not-found="ignore"/>
</bag>
</union-subclass>
</class>
<class name="IGame" abstract="true">
<id name="Id" column="game_id">
<generator class="assigned"/>
</id>
<union-subclass name="Game" table="vw_player_points">
<bag name="Points">
<key column="game_id"/>
<one-to-many class="Test.IPlayerPoints" not-found="ignore"/>
</bag>
</union-subclass>
</class>
<class name="IPlayerPoints" abstract="true">
<id name="Id" column="id">
<generator class="assigned"/>
</id>
<union-subclass name="PlayerPoints" table="vw_player_points">
<property not-null="false" name="PlayerId" column="player_id"/>
<property not-null="false" name="Points" column="points"/>
</union-subclass>
</class>
</hibernate-mapping>
Können Sie Ihre Zuordnung für jede Klasse veröffentlichen? –
Mappings gepostet :) – theGecko
Irgendwelche Ideen dazu? – theGecko