Tag: 子查询

QueryOver的子查询

我在使用带查询的子查询时遇到问题。 这就是我所拥有的 var address = QueryOver.Of() .Where(x => x.City.IsLike(“%” + city + “%”)).Select(x => x.Person.Id); var result = Session.QueryOver() .Where(x => x.Type.IsLike(type + “%”)) .And(x => x.Name.IsLike(“%” + name + “%”)) .WithSubquery.WhereExists(address); 我有一个人的桌子,一个人有多个地方。 所以人的身份,姓名,类型 和地址将有PersonId和城市等。 因此,想要按名称和类型以及“地址”表中的“城市”搜索某个人

LINQ:分页技术,使用take和skip但是也需要总记录 – 如何实现这个?

我已经使用skip和take实现了一个分页例程。 它工作得很好,但在调用Take和Skip之前我需要表中的记录总数。 我知道我可以提交2个单独的查询。 得到数数 跳过并采取 但我宁愿不发出2次LINQ调用。 如何在同一查询中返回它(例如使用嵌套的select语句)? 以前,我在存储过程中使用了分页技术。 我使用临时表返回了项目,并将计数传递给输出参数。

Linq to Entities有多对多选择:如何强制生成JOIN而不是subselect子句?

首先使用EF DB我有两个具有多对多关系的实体(供应商,产品)。 entity framework不为关联表(SupplierProduct)创建实体,因为关联表仅包含强实体的主键。 我一直在为所有不提供给定产品的供应商提供以下查询: var q1 = context.Suppliers.Where(s=>!s.Products.Any(p=>p.Id == 1)); 生成的SQL使用与此类似的EXISTS依赖子查询: SELECT * FROM Suppliers s WHERE NOT EXISTS (SELECT 1 FROM SupplierProduct sp WHERE sp.SupplierId = s.Id && sp.ProductId = 1) 是否可以使用Linq to Entities方法语法生成在关联表上使用连接的查询? 即: SELECT DISTINCT s.* FROM SupplierProduct sp JOIN Supplier s ON s.Id = sp.SupplierId; WHERE sp.ProductId != 1 更新 […]

LINQ中的子查询位于select语句中,而不是where子句

我需要做类似以下的事情 SELECT p.name, (SELECT COUNT(p.id) FROM products WHERE products.parent_id = p.id) AS sub_products FROM products AS p 我在where子句中看到了很多子查询的LINQ示例,但是在select语句中没有这样的例子。