小编Hum*_*ble的帖子

我需要加快以下Linq查询

我有一个旧的存储过程我正在重写为EF Linq查询但是proc几乎快了3倍!

这是查询语法的示例:

public string GetStringByID(long ID)
    {
        return dataContext.Table2.FirstOrDefault(x => x.Table2ID == ID).Table1.StringValue;
    }
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的sproc代码以及调用它的方法.

sproc是:

PROCEDURE [dbo].[MyQuickerProc]
@ID bigint
AS
BEGIN
SET NOCOUNT ON;

IF EXISTS(SELECT TOP 1 ID FROM Table2 WHERE Table2ID = @Id)
    BEGIN
        SELECT TOP 1 t1.StringValue
        FROM Table2  t2
            INNER JOIN Table1 t1 ON t1.Table1ID= Table2.Table1ID
        WHERE Table2ID = @ID
    END
ELSE
    BEGIN
        SELECT TOP 1 t1.StringValue
        FROM Table2 t2
            INNER JOIN Table1 t1 ON t1.Table1Id = Table2.Table1ID
        WHERE Table2ID IS NULL
    END

END …
Run Code Online (Sandbox Code Playgroud)

c# sql linq entity-framework

3
推荐指数
1
解决办法
980
查看次数

标签 统计

c# ×1

entity-framework ×1

linq ×1

sql ×1