Ich benutze Nhibernate 2.1.2.4000 GA mit Nhibernate.Linq 1.0 und neueste Version von FluentNhibernate heruntergeladen von Master auf Github.Fehler "Keine Persister für" mit NHibernate, NHibernate.Linq und Fluent Mapping
Im tun einige Tests und wenn ich versuche, eine Einheit, die von einer Linq-Abfrage aus mir wird diesen Fehler abgerufen zu löschen:
No persister for: NHibernate.Linq.Query`1[[Employees.Core.Entities.Employee, Employees.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]
Alle anderen Operationen (Einfügen, Aktualisieren und wählen) sieht gut aus;
Meine Entity-Klasse:
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-Klasse:
public class EmployeeMap : ClassMap<Employee>
{
public EmployeeMap()
{
Id(x => x.Id);
Map(x => x.Name)
.Not.Nullable()
.Length(50);
}
}
Konfiguration:
Assembly mappingsAssemly = Assembly.GetExecutingAssembly();
return Fluently.Configure()
.Database(MsSqlConfiguration.MsSql2008
.ConnectionString(connectionString)
.ProxyFactoryFactory(typeof(ProxyFactoryFactory))
.ShowSql())
.Mappings(m => m.FluentMappings.AddFromAssembly(mappingsAssemly))
.BuildSessionFactory();
Und der Code, der nicht funktioniert:
public void RemoveAll()
{
var q = from employee in _session.Linq<Employee>()
select employee;
foreach (var employee in q.ToList())
{
_session.Delete(q);
}
}
Irgendwelche Gedanken?
+1 Sehr gut schriftliche Anfrage! –