Per qualche motivo, NHibernate mi sta dicendo che non è possibile convertire NHibernate.Collection.Generic.PersistentGenericSet[Ingredient]
in System.Collection.Generic.IList[Ingredient]
, quando provo ad ottenere i dati dal Banca dati. Questa è una versione semplificazioni rese del mio mappatura classe/implementazione:C# - NHibernate non è in grado di eseguire il cast di NHibernate.Collection.Generic.PersistentGenericSet su System.Collections.Generic.IList
public class Product {
protected Product() { };
public virtual Name { get; set; }
public virtual IList<Ingredient> {
get { return new List<Ingredient>(ingredients).AsReadOnly(); }
protected set { ingredients = value; }
}
private IList<Ingredient> ingredients = new List<Ingredient>();
}
-
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="LanchesAdmin.Core.Domain.Product, LanchesAdmin.Core" table="product" >
<id name="ID" generator="identity">
<column name="id" not-null="true" />
</id>
<property name="Name" column="name" length="64" not-null="true" />
<set name="Ingredients" table="ingredient" fetch="join" lazy="true" inverse="true">
<key column="product_id" />
<one-to-many class="LanchesAdmin.Core.Domain.Ingredient, LanchesAdmin.Core" />
</set>
</class>
</hibernate-mapping>
Ho visto diverse questioni connesse, ma tutti mi dicono di utilizzare IList, e questo è esattamente quello che ho 'sto facendo.
provare a rimuovere la creazione della nuova lista e la chiamata ReadOnly. – Euphoric
@Euphoric, l'ho provato, non ha fatto alcuna differenza. – rmobis
@Raphael_ potresti pubblicare il tuo codice che alla fine ha funzionato. E se possibile, potresti pubblicare il codice per 'Ingredient' (o spiegare di cosa si tratta). Mi sto imbattendo in un problema e mi sto chiedendo se la soluzione risolverà il problema. Grazie in anticipo. – REMESQ