Strategie di raccolta e criteri per bambini predefinite.
-
29-10-2019 - |
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:
Quando si prendono una raccolta di entità che hanno a
Status
enum, per escludere quelli con il valore impostato suDeleted
Per impostazione predefinita (sovraccaricabile caso per caso)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.
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")