I've been working on this feature, and decided to follow an approach more consistent with the SetFetchMode API.
ICriteria has two new methods,
- SetLazyPropertyFetchMode(LazyPropertyFetchMode mode)
- Sets the fetch mode for the current ICriteria instance
- SetLazyPropertyFetchMode(string associationPath, LazyPropertyFetchMode mode)
- Sets the fetch mode for the specified association path
The LazyPropertyFetchMode enum is defined as follows:
public enum LazyPropertyFetchMode
{
/// <summary>
/// The default fetch mode, which is lazy
/// </summary>
Default,
/// <summary>
/// Eager fetch lazy properties
/// </summary>
Select,
}
I have a working implementation with various unit tests. I will explore my implementation a bit further and then push my branch up for review.
Cheers,
Stuart