0
我想要在當前會話中加載所有持久對象。獲取當前會話中加載的所有對象
我知道與會話相關的持久性上下文緩存,包含當前會話中加載的所有對象的字典。任何人都可以告訴我如何知道在IPersistenceContext緩存中加載的所有對象?
//創建我們的NHibernate會話工廠
var sessionFactory = CreateSessionFactory();
using (var session = sessionFactory.OpenSession())
{
Employee emp;
// populate the database
using (var transaction = session.BeginTransaction())
{
emp = session.Query<Employee>().Where(x => x.Name == "Bargin Basin").FirstOrDefault();
var entries = session.GetSessionImplementation().PersistenceContext.EntityEntries;
foreach (var item in entries)
{
var entityEntry = entries[item];
//I want the objects of my type like..
//Employee persistedEmp = entityEntry as Employee;
}
}
}
它返回密鑰的EntityEntry對象。我想要我已知類型的對象。即我entites類的對象。 – Deepak
@Deepak仔細查看我的代碼。我正在訪問'EntityEntries'字典的'Keys'屬性。這個集合實際上包含實體對象,因爲它們是這個字典中的鍵('EntityEntry'對象是值)。 – cremor
謝謝....我明白了。鑰匙本身就是我的對象.... – Deepak