Diese Funktion wird von nhibernate nicht unterstützt, soweit ich weiß. Als allgemeine Faustregel sollten Sie jedoch immer eine Art von ID haben und wenn Sie sich in einer Situation befinden, in der Sie denken, dass Sie keine benötigen, sollten Sie Ihr Datenmodell bewerten. Eine ID, ob es sich um einen tabellenspezifischen Primärschlüssel oder einen Ersatzschlüssel aus einer anderen Tabelle handelt, sollte vorhanden sein. Dies stellt nicht nur sicher, dass nhibernate die Tabelle verarbeiten kann, sondern hilft auch bei der Indexierung.
Bevor Sie anfangen anzunehmen, dass nhibernate Ihre Bedürfnisse nicht erfüllt, überlegen Sie, warum Sie keinen Schlüssel auf dem Tisch haben und welchen Sinn es hat, keinen zu haben.
Wenn die Tabelle Daten enthält, die zu einer anderen Entität gehören, können Sie sie als eine Sammlung von Komponenten zuordnen. Komponenten werden nicht selbst identifiziert, sondern gehören zu einer anderen Entität, deren identifiziert ist.
Sie können eine Entität einer Tabelle zuordnen, ohne dass Schlüssel in der Datenbank definiert sind. Ich mache das in älteren SQL Server-Datenbanken. Die Tabelle muss jedoch einen Kandidatenschlüssel haben (einige Spalten, die tatsächlich eine eindeutige Kombination von Werten speichern). Das Konzept der Einheit beinhaltet die Vorstellung einer Art Identität . Stattdessen versuchen Sie in Ihrem Code, eine Entität ohne Identität zuzuordnen, was nicht möglich ist.
Tags und Links fluent-nhibernate