Stratégies pour la Cartographie des points de Vue dans NHibernate

Il semble que NHibernate doit avoir un id tag spécifié dans le cadre de la cartographie. Cela pose un problème pour la vue que la plupart du temps (dans mon expérience) ne sera pas avoir une carte d'identité. J'ai mappé point de vue avant dans nhibernate, mais ils que j'ai fait, il semblait être compliqué pour moi.

Ici est un artificiel exemple de la façon dont je le fais actuellement.

Cartographie

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

Vue SQL

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

Classe

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

Je n'ai pas besoin d'un Id pour le produit ou, dans le cas de certains points de vue, je ne peut pas avoir un id pour la vue, en fonction de si j'ai le contrôle sur la Vue

Est-il une meilleure façon de mappage des vues d'objets dans nhibernate?

Modifier
Réponse Jusqu'À Présent

Cartographie

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

Classe

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

Vue SQL
Dois-je encore besoin de NewID()?

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

OriginalL'auteur Nathan Fisher | 2010-06-03