⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ijoinable.cs

📁 NHibernate NET开发者所需的
💻 CS
字号:
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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -