Ваша проблема в том, как передать print
в Enum.each
. Переменная print
уже связана с функцией. Когда вы делаете print.()
, вы вызываете эту функцию без аргументов и передаете результат в Enum.each
. Вместо этого вам нужно передать саму функцию print
в качестве аргумента Enum.each
. Итак:
Enum.__info__(:functions) |> Enum.each(print)
Можно сделать это использование AssociateWith. Это будет работать:
var options = new DataLoadOptions();
options.AssociateWith<Blog>(b =>
b.Posts.Where(
p1 => p1.SomeColumn == b.Posts.Max(p2 => p2. SomeColumn)
));
Кроме того, если Вы будете загружать информацию в отдельный класс или можете использовать анонимный, можно просто сделать запрос как:
var query = from b in context.Blogs
//probably some where you already have
select new MyBlogs // or with no type in case it is anonymous
{
AColumn = b.AColumn, //map any other values
LatestPost = b.Posts.Where(
p1 => p1.SomeColumn == b.Posts.Max(p2 => p2. SomeColumn)
)).ToList()
}
Если Вы только хотите последнее сообщение затем, я подозреваю, что просто запросы для того сообщения конкретно будут более эффективной использующей ленивой загрузкой, чем принуждение 'нетерпеливой' загрузки этот путь.