使用SetProjection()时,在数据库理论和NHibernate方面什么是Projection?
答案 0 :(得分:34)
投影是关系代数的基本操作之一。它将该关系的属性和(可能为空)列表作为输入。它输出的关系仅包含指定的属性列表,其中删除了重复的元组。换句话说,输出也必须是一种关系。
例如,如果关系R {A,B}包含三个元组{1,10},{2,10},{3,20}那么R对属性列表{B}的投影将包含2元组:{10},{20}。
简而言之,投影或多或少等同于SQL中的SELECT DISTINCT(不包括具有空值和重复列的情况)。
答案 1 :(得分:31)
非常简单,它是一个接受输入(例如数据库行)并产生输出的函数(例如,行中的一列,或者可能是基于多列的一些计算)。
答案 2 :(得分:11)
投影是指查询中列的子集。
select x, y, z from YourTable
x,y,z是这里的投影。
答案 3 :(得分:2)
就休眠而言,它就像指定要选择的列一样。而不是让映射确定获取哪些列。这意味着您可以通过ProjectionList指定sql函数,子查询,单个列或上述所有内容。例如,如果要计算表SetProjection(Projections.RowCount())
中的行数。
答案 4 :(得分:2)
答案 5 :(得分:-2)