2012-02-24 100 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