c# - 从实体中获取单列

标签 c# nhibernate

如何从查询返回单个列而不是整个对象?

我可以做这样的事情来获取整个对象,但我想要的只是名称:

IList<Tribble> tribbles = session.CreateCriteria(typeof(Tribble)).List<Tribble>();
IList<string> names = new List<string>();
foreach (Tribble t in tribbles) {
    names.Add(t.Name);
}

我希望能够指定额外的条件,那么是否可以只排除某些列不被检索?

最佳答案

这是我最终使用的解决方案:

ICriteria c = session.CreateCriteria(typeof(Tribble));
c.SetProjection(Projections.ProjectionList().Add(Projections.Property("Name")));
IList<string> names = c.List<string>();

我从 this old StackOverflow question 得到这个想法.

关于c# - 从实体中获取单列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1075623/

相关文章:

c# - RavenDB 服务器模式性能

c# - 麦当劳到 C# 中的 ProperCase

c# - 仅使用数字时是否应该设置字符集/代码页?

nhibernate - Fluent NHibernate 一对多关系设置外键为空

mysql - NHibernate 和 MySql 关键字

c# - 是否可以在应用程序级别连接到硬件键盘事件?

c# - 我真的不应该在属性访问器中做 "long running"事情吗?

nhibernate - 3.0 升级后为 CaSTLe Windsor 配置 NHibernate 3.3.1

nhibernate - 您对CaSTLe ActiveRecord有何看法?

c# - TEXT 字段中的错误 (PostgreSQL) - NHibernate 无法读取它