NHibernate Projections,它是否支持投射内部对象

时间:2010-09-30 01:03:14

标签: nhibernate

Hibernate + NhibernateLINQ是否支持内部对象的投影。

例如。当我尝试以下操作时,在Queryable.ToList()的调用中,我在Patient对象上获得了一个Index out of bounds异常

            var registrations = from r in _session.Linq<Domain.Registration>().Expand("Patient") select r;
        var queryable = registrations.Select(
            r => new { r.Id, r.AccountNumber, r.DateAdded, r.DateUpdated, r.Patient.FamilyName, r.Patient});
        var list = queryable.ToList();

        var workListItems = new List<WorkListItem>();
        foreach (var anonymous in list)
        {
            var w = new WorkListItem
            {
                Id = anonymous.Id,
                ClientAccountId = anonymous.AccountNumber,
                DateAdded = anonymous.DateAdded,
                DateUpdated = anonymous.DateUpdated,
                Patient = anonymous.Patient
            };
            workListItems.Add(w);
        }
        return workListItems;

1 个答案:

答案 0 :(得分:1)

遗留贡献提供程序在此类查询中存在问题。

NHibernate 3中的新集成提供程序可以毫无问题地处理它们。

截至2010-09-30,Alpha3相当稳定(大部分工作都是针对Linq提供商进行更多改进),并且预计在今年年底之前发布GA版本。