我有以下几点:
var nodes = _nodeService.GetNodeChildren(id, nId);
var association = _nodeService.GetNodeOrder(id, nId);
var joinedNodes = nodes.Join(association,
n => n.Id,
a => a,
(n, a) => new {nodes = n, association = a};
var enumerable = joinedNodes.ToList();
var orderedNodes = enumerable.OrderBy(x => x.association);
return orderedNodes.nodes;
其中nodes是对象列表,association是guid列表。
问题是我没能如期收回订单。
我需要根据guid位置的顺序返回一个节点列表。
以下是测试代码的一部分
_ngOrder = new List<Guid>
{
_nodeId2,
_nodeId1,
_nodeId4,
_nodeId3,
}
_nodeClient.SetNodeOrder(_ngOrder);
当我得到方法并Assert时,这里是代码:
Assert.That(_response[0].Id, Is.EqualTo(_node2Id);
Assert.That(_response[1].Id, Is.EqualTo(_node1Id);
Assert.That(_response[2].Id, Is.EqualTo(_node4Id);
Assert.That(_response[3].Id, Is.EqualTo(_node3Id);
1条答案
按热度按时间snvhrwxg1#
当使用linqto对象并调用join时,外部列表将被迭代,并且内部列表中的匹配元素将相应地被带到所选键。如果您在join语句中切换列表,您应该可以实现您的目标。
输出: