Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在hibernate中获取查询表的值?_C#_Linq_Nhibernate - Fatal编程技术网

C# 如何在hibernate中获取查询表的值?

C# 如何在hibernate中获取查询表的值?,c#,linq,nhibernate,C#,Linq,Nhibernate,我有这样一个问题: var query = scope.Session.QueryOver<Task>().Where(s => s.Code == code && s.Flag == flag && s.Antry != null); 但是,我认为这将失败,因为我知道: query.Where(i=>i.Id!=null).List().ToArray() 将不返回整数数组,而是返回查询对象 那么,如何在查询中仅获取整数的id呢?要从查询中仅

我有这样一个问题:

var query = scope.Session.QueryOver<Task>().Where(s => s.Code == code && s.Flag == flag && s.Antry != null);
但是,我认为这将失败,因为我知道:

query.Where(i=>i.Id!=null).List().ToArray()

将不返回整数数组,而是返回查询对象


那么,如何在查询中仅获取整数的id呢?

要从查询中仅获取整数id,可以选择一个匿名类型,其中只包含您感兴趣的属性,例如:

var integerids = scope.Session.QueryOver<Person>()
    .Select(p => p.Id)
    .List<int>();
var integerids=scope.Session.QueryOver()
.选择(p=>p.Id)
.List();

lol。。。对不起,你一定教过我这是个很难回答的问题。。。该死的。。。我总是忘记选择和地点的区别
int[] arr  = query.Where(i=> i.Id!=null).List<int>().ToArray();
entryQuery.Where(i => i.Id.IsIn(arr));
var integerids = scope.Session.QueryOver<Person>()
    .Select(p => p.Id)
    .List<int>();