Strategien für die Zuordnung von Ansichten in NHibernate

Es scheint, dass NHibernate ein ID-Tag als Teil der Zuordnung angegeben haben muss. Dies stellt ein Problem für Ansichten dar, da (meiner Erfahrung nach) eine Ansicht die meiste Zeit keine ID hat. Ich habe die Ansichten schon einmal in Ruhe abgebildet, aber so wie ich es getan habe, schien es für mich chaotisch zu sein.

Hier ist eingekünstel Beispiel, wie ich es gerade mache.

Kartierun

  <class name="ProductView" table="viewProduct" mutable="false" >
    <id name="Id" type="Guid" >
      <generator class="guid.comb" />
    </id>
    <property name="Name" />
<!-- more properties -->
  </class>

View SQL

Select NewID() as Id, ProductName as Name, --More columns
From Product  

Klass

public class ProductView
{
    public virtual Id {get; set;}
    public virtual Name {get; set;}
}

Ich benötige keine ID für das Produkt. Bei einigen Ansichten ist möglicherweise keine ID für die Ansicht vorhanden. Dies hängt davon ab, ob ich die Kontrolle über die Ansicht habe.

Gibt es eine bessere Möglichkeit, Ansichten auf Objekte in nhibernate abzubilden?

Bearbeite
Bisherige Antwort

Kartierun

  <class name="ProductView" table="viewProduct" mutable="false" >
    <id name="Id" type="Guid" />
    <property name="Name" />
    <!-- more properties -->
  </class>

Klass

 public class ProductView
    {
        public virtual Name {get; set;}
        //more properties
    }

View SQL
Brauche ich noch NewID ()?

Select NewID() as Id, ProductName as Name, --More columns
From Product  

Antworten auf die Frage(4)

Ihre Antwort auf die Frage