我有一个关于hibernate的问题。我在我的应用程序中使用了不同的控件(treeview、combobox等)。我通过nhibernate获取这些控件的内容。问题是,获取数据需要很长时间。Drung,这一次表单被冻结。
我想在另一个线程中加载数据。但我不知道该把线放在哪里。我是hibernate的新手,也许你对此有更多的经验。
发布于 2010-07-26 20:33:04
这并不是一个真正的NHibernate问题,而是一个.NET Windows窗体线程问题。无论如何,在窗体环境中,在后台线程上加载所有NHibernate的最简单方法是使用。
private void LoadData(object sender, EventArgs e)
{
// This event fires whatever's in DoWork() on a separate thread.
backgroundWorker1.RunWorkerAsync();
// Things to do asynchronous operation.
timer1.Start();
}
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
// NHibernate loading goes here...
var employees = Session.CreateCriteria<Employee>();
combobox1.DataSource = employees;
}https://stackoverflow.com/questions/3334200
复制相似问题