数据不会每次出现在数据网格中

时间:2016-09-22 07:54:55

标签: c# sql-server nhibernate datagrid

我有一个MDI应用程序,其中包含2个窗口,每个窗口都包含一个数据网格(已实现DataGridView.CellValueNeeded)。我使用nhibernate从MSSQL数据库中获取数据。

名为"员工"的第一个窗口,包含姓名,街道,出生日期......:class Employee

第二个窗口叫"工作时间记录",包含小时,项目,员工姓名,......:class WorkTimeRecording(此类有一个类型为Employee的变量)

当我使用"工作时间录制"打开我的应用程序时窗口,所有数据都在网格中正确显示。当我用两个窗口打开应用程序时,记录数据网格的工作时间中缺少员工姓名 然后我将员工数据网格滚动到适当的人(由于CellValueNeeded,此人的数据刚刚加载)。当我现在切换回记录datagrid的工作时间时,名称显示正确。

但是我想,无论哪个窗口都打开,所有数据都会直接显示。

我可以开始搜索的任何提示?

NHibernate制图

<class name="WorkTimeRecording" table ="[WorkTime-Recording]" lazy="false">
..
<property name="IDEmployee" column="[ID-Employee]" />

1 个答案:

答案 0 :(得分:0)

解决方案是,我的前同事使用不同级别的数据来实现该功能。 WorkTimeRecording类具有不同的深度(基本,中等,完整 - 原因是为了获得性能并且只是将数据加载到存储库,这是需要的)来填充实例。当我切换到完成时,无论其他Windows打开,WorkTimeRecording中的变量员工都被正确填充。

所以它不像我想的那样是一个nhibernate问题,但是在正确的时间加载足够的数据......并且理解代码,其他人已经写过;)