ijoinable.cs
来自「NHibernate NET开发者所需的」· CS 代码 · 共 78 行
CS
78 行
using System.Collections.Generic;
using NHibernate.SqlCommand;
namespace NHibernate.Persister.Entity
{
/// <summary>
/// Anything that can be loaded by outer join - namely persisters for classes or collections.
/// </summary>
public interface IJoinable
{
// Should this interface extend PropertyMapping?
/// <summary>
/// An identifying name; a class name or collection role name.
/// </summary>
string Name { get; }
/// <summary>
/// The columns to join on.
/// </summary>
string[] KeyColumnNames { get; }
/// <summary>
/// Is this instance actually a ICollectionPersister?
/// </summary>
bool IsCollection { get; }
/// <summary>
/// The table to join to.
/// </summary>
string TableName { get; }
/// <summary>
/// All columns to select, when loading.
/// </summary>
string SelectFragment(IJoinable rhs, string rhsAlias, string lhsAlias, string currentEntitySuffix,
string currentCollectionSuffix, bool includeCollectionColumns);
/// <summary>
/// Get the where clause part of any joins (optional operation)
/// </summary>
/// <param name="alias"></param>
/// <param name="innerJoin"></param>
/// <param name="includeSubclasses"></param>
/// <returns></returns>
SqlString WhereJoinFragment(string alias, bool innerJoin, bool includeSubclasses);
/// <summary>
/// Get the from clause part of any joins (optional operation)
/// </summary>
/// <param name="alias"></param>
/// <param name="innerJoin"></param>
/// <param name="includeSubclasses"></param>
/// <returns></returns>
SqlString FromJoinFragment(string alias, bool innerJoin, bool includeSubclasses);
/// <summary>
/// Get the where clause filter, given a query alias and considering enabled session filters
/// </summary>
string FilterFragment(string alias, IDictionary<string, IFilter> enabledFilters);
string OneToManyFilterFragment(string alias);
/// <summary>
/// Very, very, very ugly...
/// </summary>
/// <value>Does this persister "consume" entity column aliases in the result
/// set?</value>
bool ConsumesEntityAlias();
/// <summary>
/// Very, very, very ugly...
/// </summary>
/// <value>Does this persister "consume" collection column aliases in the result
/// set?</value>
bool ConsumesCollectionAlias();
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?