Начинается с не работает в запросе Linq to NHibernate - PullRequest
2 голосов
/ 25 июля 2010

В моем репозитории у меня есть:

public IQueryable<ICustomer> GetByAddress(string address)
{
    return from c in GetSession().Linq<ICustomer>()
           where c.Address.StartsWith(address)
           select c;
}

SQL, который я хотел бы сгенерировать, по сути:

SELECT *
FROM Customer
WHERE address LIKE @address + '%'

Однако всякий раз, когда я делаю

var customers = myRepository.GetByAddress("123 Main Street");

Я получаю исключение NullReferenceException:

System.NullReferenceException не обработано
Message = "Ссылка на объект не установлена ​​на экземпляр объекта."
Source = "NHibernate"
StackTrace:
в NHibernate.Loader.Criteria.CriteriaQueryTranslator.GetEntityName (подкритерии ICriteria, String propertyName)
в NHibernate.Loader.Criteria.CriteriaQueryTranslator.GetCriteria, подклассификацииNHibernate.было бы полезно, я могу добавить его.

Почему это не работает, в то время как тот же самый запрос, за исключением

where c.Address == address

, работает отлично.

Есть идеи?

Редактировать

Я использую FluentNHibernate (где Id - GUID, а Address - строка):

public class CustomerMap: ClassMap<ICustomer>
{
    public JobMap()
    {
        Id(x => x.Id);
        ...snip...
        Map(x => x.Address).Not.Nullable();
    }
}
...