gpt4 book ai didi

NHIbernate:投影所有属性的快捷方式?

转载 作者:行者123 更新时间:2023-12-04 12:37:06 26 4
gpt4 key购买 nike

我正在尝试按照以下方式生成 SQL:

SELECT 
t.*,
SELECT (...)
FROM Title t
[trimmed]

使用 QueryOver
Title title = null;

var q = session
.QueryOver(() => title)
.Select(
Projections.Alias(Projections.Property<Title>(t => t.Id), "Id"),
Projections.Alias(Projections.Property<Title>(t => t.Name), "Name"),
....
Projections.SubQuery(sq.Where(tt => tt.Id == title.Id))), "TopLevelGenre")
)
[code trimmed]

我想要投影的 ​​Title 中有 15 个属性。有没有更简单的方法,这样我就不必像上面开始做的那样单独投影每个属性?

最佳答案

如果您不介意 ICriteria,这很有效。我已经用 2.1.2 测试过,但我不明白为什么不能与 3.x 一起使用。

var projectionList = Projections.ProjectionList();
var metadata = session.SessionFactory.GetClassMetadata(typeof(Title));
foreach (var name in metadata.PropertyNames)
{
projectionList.Add(Projections.Property(name), name);
}
var criteria = DetachedCriteria.For<Title>()
.SetProjection(projectionList)
...;

关于NHIbernate:投影所有属性的快捷方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5762937/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com