【发布时间】:2019-07-07 11:54:01
【问题描述】:
我有以下返回 SQL 子查询的方法。通过该方法的返回,我详细说明了主要查询。
但现在我需要使用 LINQ 查询来执行此操作。
我该怎么做?
Public void AvailableStock()
{
string query = "Select prod.ID, prod.Name, ";
query += AvailableStockQuery("prod.ID") + " as AvailableStock ";
query += " From TAB_Products prod ";
}
Public string AvailableStockQuery(string ProductAlias = "prod.ID")
{
string query = "((Select Sum(est.Quantity) " +
" From ProductStock est " +
" Where est.ProductID = " + ProductAlias +
" ) " +
" - (Select Sum(it.Quantity) " +
" From OrderItens it " +
" Where it.ProductID = " + ProductAlias +
")" +
") ";
return query;
}
【问题讨论】:
-
您需要使用
IQueryable接口。在这种情况下,它会更难,因为您正在更改结果对象,而不是过滤部分。 stackoverflow.com/questions/5541234/… -
您能否编辑您的问题并向我们提供您的实体类以及它们之间的关系。您似乎有 TAB_Products、ProductStock、OrderItems,但它们之间有什么关系?你能描述一下你的查询要求吗? “给一个字符串ProductAlias,给我所有……来自……那个……
标签: sql-server entity-framework linq sql-to-linq-conversion