NHibernate CreateSqlQuery()结果为ObservableCollection

时间:2013-04-24 11:01:08

标签: nhibernate observablecollection

我有以下内容:

            using (ISession session = Config.SessionFactory.OpenSession())
            {
                using (ITransaction transaction = session.BeginTransaction())
                {
                    // This is a System.Collections.ArrayList,contains all my records returned from the session
                    var list  = session.CreateSQLQuery(selectQuery).List(); 

                    // I want to put these records in an ObservableCollection of a specific Type
                    // Something like htis:
                    MyCollection = new ObservableCollection<MyType>(list);
                }
            }

这不起作用,这里不能选择施法。有没有办法将我的反复列表放到ObservableCollection中?

2 个答案:

答案 0 :(得分:0)

我使用以下内容填充了我的ObservableCollection:

   var query = session.CreateSQLQuery(selectQuery).AddEntity(typeof(MyType));
   myObservableCollection = new ObservableCollection<MyType>(query.List<MyType>());

答案 1 :(得分:0)

List()返回ArrayList。 ArrayList中的每个值都有一些值,它是object的类型。 它无法直接转换为任何特定类。所以创建一个映射文件,然后只有你可以获得所需对象的列表。  enter image description here