マッピングに関する詳細情報がなければ、正しいコードを取得することはできませんが、次のようになります。
クライアントに「ClientOrders」という名前のクライアント注文のコレクションがあると仮定します
//Create the criteria for objects of type 'Client'
ICriteria target = Session.CreateCriteria<Client>();
//create an alias for the client orders, to be able to add the restrictions
target.CreateAlias("Orders", "ClientOrders", NHibernate.SqlCommand.JoinType.LeftOuterJoin);
//Add the restrinctions using an 'Or' to allow any of this two conditions
target.Add(Restrictions.Or(Restrictions.IsNull("Orders.DateCreated"), Restrictions.Eq("Orders.DateCreated",
Session.CreateCriteria<DateTime>().SetProjection(Projections.Max("Orders.DateCreated")).UniqueResult<DateTime>())));
//Get the list of the clients
target.List<Client>();
繰り返しますが、これはヒントにすぎません。マッピングがなければ、そこに何があるかを知ることは不可能だからです。それが役に立てば幸い...