Принимая следующий вымышленный макет
Dealership
has many Cars
has a Manufacturer
Я хочу написать запрос, в котором говорится, дайте мне дилерский центр с именем X, а также получите коллекцию автомобилей, но при этом используйте объединение с производителем. Я думаю, что это потребует использования ICriteria. Я думаю, что-то вроде этого ..
var dealershipQuery = Session.CreateCriteria< Dealership>("d")
.Add(Restrictions.InsenstiveLike("d.Name", "Foo"))
.CreateAlias("d.Cars", "c")
.SetFetchMode("d.Cars", FetchMode.Select)
.SetFetchMode("c.Manufacturer", FetchMode.Join)
.UniqueResult< Dealership>();
Но полученный запрос выглядит совсем не так, как я ожидал. Я начинаю думать, что где-то может потребоваться DetachedCriteria, но я не уверен.
Мысли