Domanda

Nel modello di dominio, ci sono una serie di entità che hanno a Status enum con valori di entrambi Active o Deleted.

Sto cercando documentazione e consigli sugli approcci consigliati su come gestire:

  1. Quando si prendono una raccolta di entità che hanno a Status enum, per escludere quelli con il valore impostato su Deleted Per impostazione predefinita (sovraccaricabile caso per caso)

  2. Quando si prendono una raccolta di entità di un bambino, per impostazione predefinita per escludere quelli con il valore impostato su Deleted Per impostazione predefinita.

In sintesi, voglio effettivamente mantenere tutti i dati relativi alle entità con a Status proprietà enum, ma per escludere quelli che hanno un valore di Deleted per lo stato per impostazione predefinita.

Eventuali suggerimenti nella giusta direzione molto apprezzati.

È stato utile?

Soluzione

È possibile utilizzare una funzione in NHibernate chiamato filtro.

Esempio:

  <class name="Post"  table="Posts">
     <id name="Id">
        <generator class="identity"/>
     <id>

    <property name="Title"/>
    <property name="Text"/>
    <property name="PostedAt"/>


    <filter name="NoDeleted" condition="Status <> 'Deleted'"/>
</class>

Quindi quando richiedi:

 session.EnableFilter("NoDeleted")

Per più:http://ayende.com/blog/3993/nhibernate-filters

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top