【发布时间】:2014-11-22 03:18:40
【问题描述】:
我正在尝试多次加入别名,但这取决于它应该执行的次数。
Employee employeeAlias = null;
Thing thingAlias = null;
var names = string[] {"A", "B", "C", "D", "E"} // number of values could vary
for(int i = 0; i < names.Length ; i++)
{
queryOver
.JoinAlias(() => employeeAlias.Things,
() => thingAlias,
JoinType.LeftOuterJoin,
Restrictions.Eq(Projections.Property(() => thingAlias.Name,
names[i]));
}
然而,在执行时,NHibernate 会抛出一个错误:
NHibernate.QueryException: duplicate alias: thingAlias ---> System.ArgumentException: An item with the same key has already been added
有没有办法让 NHibernate 加入具有指定名称的别名,这样它就不会重复使用变量的名称?
谢谢各位。从昨天开始,这一直是我的问题,我找不到合适的解决方案。
PS:
我正在尝试做这样的事情:
SELECT * FROM Employee e
LEFT OUTER JOIN Thing t on e.Id = t.EmployeedId AND t.Name = "A"
LEFT OUTER JOIN Thing t on e.Id = t.EmployeedId AND t.Name = "B"
【问题讨论】:
标签: c# nhibernate fluent-nhibernate