2012-02-24 130 views
1

在运行时我得到这个错误宠物不映射.. 在我下面的代码: -错误在NHibernate的映射

using (ITransaction transaction = session.BeginTransaction()) 
{ 
    IQuery query = session.CreateQuery("from pet where PetName='S.J.'"); 
    pet pets = query.List<pet>()[0]; 
    session.Delete(pets); 
    transaction.Commit(); 
} 
+0

我可以想像,你有一个错误,但你有什么问题吗?因为你不正确地使用nhibernate。 – Peter 2012-02-24 13:02:25

回答

1

在查询中更改“宠物”到“宠物”。我希望它能解决这个问题。

IQuery query = session.CreateQuery("from Pet where PetName='S.J.'"); 
+0

Thanx @Sajan现已解决 – andy 2012-02-24 13:45:47

+0

@ user1008208您可以将其标记为已解决。 – 2012-02-24 13:58:16

1

我避免在使用HQL或SQL使用的NHibernate的。强类型查询非常棒。 看来,下一个代码会做你想做的。

using (ITransaction transaction = session.BeginTransaction()) 
{ 
    var pets = session 
     .QueryOver<Pet>() 
     .Where(p => p.PetName == "S.J.") 
     .List(); 
    foreach (var pet in pets){ 
     session.Delete(pet); 
    } 
    transaction.Commit(); 
} 
+0

同时检查你的映射,以确保类宠物被映射。 – Razoomnick 2012-02-24 13:13:30