J'utilise Nhibernate 2.1.2.4000 GA avec Nhibernate.Linq 1.0 et la dernière version de FluentNhibernate téléchargée depuis master sur github.Erreur "Pas de persistance pour" avec NHibernate, NHibernate.Linq et Mappage Fluent
Im faire quelques tests et chaque fois que je tente de supprimer une entité récupérée par une requête de je suis LINQ obtenir cette erreur:
No persister for: NHibernate.Linq.Query`1[[Employees.Core.Entities.Employee, Employees.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]
Toutes les autres opérations (insertion, mise à jour et sélectionnez) semble bien;
classe Mon entité:
public class Employee
{
public Employee()
{
}
public virtual Int32 Id { get; private set; }
public virtual String Name { get; set; }
public virtual String SayHello()
{
return String.Format("'Hello World!', said {0}.", Name);
}
}
mapping class:
public class EmployeeMap : ClassMap<Employee>
{
public EmployeeMap()
{
Id(x => x.Id);
Map(x => x.Name)
.Not.Nullable()
.Length(50);
}
}
Configuration:
Assembly mappingsAssemly = Assembly.GetExecutingAssembly();
return Fluently.Configure()
.Database(MsSqlConfiguration.MsSql2008
.ConnectionString(connectionString)
.ProxyFactoryFactory(typeof(ProxyFactoryFactory))
.ShowSql())
.Mappings(m => m.FluentMappings.AddFromAssembly(mappingsAssemly))
.BuildSessionFactory();
Et le code qui ne fonctionne pas:
public void RemoveAll()
{
var q = from employee in _session.Linq<Employee>()
select employee;
foreach (var employee in q.ToList())
{
_session.Delete(q);
}
}
Des pensées?
+1 question extrêmement bien écrit! –