如果表angular.module('app').controller('HomePageCtrl', function($scope, Homepage, posts, topics, photos, sideBar) {
$scope.activate = function () {
$scope.slide = (photos || [])[0];
$scope.posts = Homepage.posts(posts);
$scope.topics = Homepage.topics(topics);
$scope.sideBar = sideBar;
$scope.template = '/templates/home-page.html';
}
$scope.activate();
});
包含列Entities
(在其他列之间),我如何只从type
和n
个实体中选择A
个实体在单个linq查询where子句中键入m
?有可能吗?
我正在寻找类似的东西:
b
包含组合查询的当前解决方案:
var x = from s in db.Entities
where s.type == `A` && (????) < n
|| s.type == `B` && (????) < m
select s
答案 0 :(得分:1)
您可以使用GroupBy
:
var x = db.Entities.GroupBy(x => x.type)
.Where(g => g.Key == "A" || g.Key == "B")
.SelectMany(g => g.Key == "A" ? g.Take(n) : g.Take(m));
但我不知道为什么你不喜欢基于Union
的解决方案 - 它应该只会导致一个查询被发送到数据库。