如何模拟派生表使用LINQ到实体 [英] How to simulate Derived table with linq to Entities
本文介绍了如何模拟派生表使用LINQ到实体的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我如何可以模拟派生表
的LINQ?
考虑这个code:
SELECT * FROM(SELECT * FROM MYTBL)AS tmp其中tmp.ID = 1
我如何使用LINQ写的吗?
感谢
修改1:
如何将其转换为LINQ:
选择
转换(十进制(10,1),ROUND(A.c2 * 100,8)),
转换(十进制(10,1),ROUND(A.c3 * 100,8))
从
(
选择
(
选择转换(INT,COUNT(ID))
从TBL
WHERE(col06> = @param_Min和col06< = @param_Max)
)
/
(
选择转换(INT,COUNT(ID))
从TBL
WHERE(col06> = 10)
)为C2
(
选择转换(INT,COUNT(ID))
从TBL
WHERE(col06> = @param_Min和col06< = @param_Max)
与(col03 = 1)
)
/
(
选择转换(INT,COUNT(ID))
从TBL
WHERE(col06> = 10)和(col03 = 1)
)为C3
) 作为一个
解决方案
-
** SELECT * FROM(SELECT * FROM MYTBL)AS tmp其中tmp.ID = 1 **
LINQ的版本
VAR的结果= db.MyTbl.Where(X => x.ID == 1);
2。
VAR的查询=
让C1 =从B在db.MyTbl
其中,b.col06> = @ param_Min //一些条件
选择b.ID
让C2 =从B在db.MyTbl
其中,b.col06> = 10 //一些条件
选择b.ID
让C3 =从B在db.MyTbl
其中,b.col06> = @ param_Min //一些条件
选择b.ID
选择新
{
c2.ID,//在此执行圆形等操作
c3.ID//perform圆形并在此等操作
};
How I can simulate Derived Table
with linq?
Consider this Code:
SELECT * FROM (SELECT * FROM Mytbl) AS tmp WHERE tmp.ID=1
How I can write this with Linq ?
thanks
EDIT 1:
How to convert this to linq?:
select
convert( decimal(10,1), ROUND(A.c2*100,8)),
convert( decimal(10,1), ROUND(A.c3*100,8))
from
(
SELECT
(
SELECT CONVERT(INT, COUNT(ID))
FROM tbl
WHERE (col06 >= @param_Min and col06 <= @param_Max )
)
/
(
SELECT CONVERT(INT, COUNT(ID))
FROM tbl
WHERE (col06 >= 10 )
) as c2
(
SELECT CONVERT(INT, COUNT(ID))
FROM tbl
WHERE (col06 >= @param_Min and col06 <= @param_Max )
AND (col03 = 1)
)
/
(
SELECT CONVERT(INT, COUNT(ID))
FROM tbl
WHERE (col06 >= 10 ) AND (col03 = 1)
) as c3
) AS A
解决方案
**SELECT * FROM (SELECT * FROM Mytbl) AS tmp WHERE tmp.ID=1**
Linq version
var result = db.MyTbl.Where( x => x.ID == 1);
2.
var query =
let c1= from b in db.MyTbl
where b.col06 >= @param_Min//some condition
select b.ID
let c2= from b in db.MyTbl
where b.col06 >= 10//some condition
select b.ID
let c3=from b in db.MyTbl
where b.col06 >= @param_Min//some condition
select b.ID
select new
{
c2.ID,//perform Round and other operation on this
c3.ID//perform Round and other operation on this
};
这篇关于如何模拟派生表使用LINQ到实体的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文