在使用 SetProjection() 时,就数据库理论和 NHibernate 而言,什么是投影?
问问题
45918 次
6 回答
47
投影是关系代数的基本运算之一。它需要一个关系和该关系的一个(可能为空的)属性列表作为输入。它输出的关系仅包含指定的属性列表,并删除了重复的元组。换句话说,输出也必须是一个关系。
例如,如果关系 R{A,B} 包含三个元组 {1,10},{2,10},{3,20},则 R 在属性列表 {B} 上的投影将包含 2 个元组:{ 10},{20}。
简而言之,投影或多或少等同于 SQL 中的 SELECT DISTINCT(不包括空值和重复列的情况)。
于 2010-08-11T19:48:12.567 回答
34
非常简单,它是一个函数,它接受输入(例如数据库行)并产生输出(例如行中的一列,或者可能基于多列的一些计算)。
于 2010-08-11T17:28:15.140 回答
17
投影是指查询中列的子集。
select x, y, z from YourTable
x, y, z 是这里的投影。
于 2015-02-13T13:19:56.777 回答
2
就休眠而言,它就像指定要选择的列。与让映射决定获取哪些列相反。这意味着您可以通过 ProjectionList 指定 sql 函数、子查询、单个列或以上所有内容。例如,如果您想计算表中的行数SetProjection(Projections.RowCount())
。
于 2010-08-11T19:59:57.920 回答