Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C NHibernate查询选择多个属性_C#_Nhibernate_Datagridview - Fatal编程技术网

C# C NHibernate查询选择多个属性

C# C NHibernate查询选择多个属性,c#,nhibernate,datagridview,C#,Nhibernate,Datagridview,在我的C应用程序中,我使用NHibernate从数据库表“room”中获取所有房间 using (ISession pSession = NHibernateHelper.OpenSession()) { IList<Room> roomList = pSession.QueryOver<Room>(). Where(x

在我的C应用程序中,我使用NHibernate从数据库表“room”中获取所有房间

using (ISession pSession = NHibernateHelper.OpenSession())
            {
                IList<Room> roomList = pSession.QueryOver<Room>().
                                                Where(x => x.FloorID == 3).
                                                .List();
            }
我有一个DataGridView,它应该显示数据库中的表条目:代码是:

 roomDataGridView.DataSource = roomList;
到目前为止效果不错。但是现在我决定我不想显示Room类中的所有属性,我只想显示

roomID
identifier
我尝试了以下方法:

roomDataGridView.DataSource = listOfRoomPropertiesForCurrentFloor.Select(x => new {x.Identifier, x.RoomID });
不幸的是,这不起作用…在我的DataGridView中没有打印任何内容


问题:如何在我的房间模型中存储房间表中的所有属性,但在DataGridView中仅显示四个属性中的两个?

确保在DataGridView中定义了列名并创建对象,基本上将x.标识符分配给名称标识符,以便可以提取并调用ToList函数


应将DataGridView属性AutoCreateColumns设置为true。答案已经有了:

摘录:

标记不应使用属性[Browsablefalse]显示的属性

roomDataGridView.DataSource = listOfRoomPropertiesForCurrentFloor.Select(x => new {x.Identifier, x.RoomID });
roomDataGridView.DataSource = listOfRoomPropertiesForCurrentFloor
                              .Select(x => new {Identifier = x.Identifier, RoomID = x.RoomID }).ToList();