【问题标题】:How can I write this stored procedure with EF in C# [closed]如何在 C# 中使用 EF 编写此存储过程 [关闭]
【发布时间】:2017-08-31 11:48:56
【问题描述】:

如何在 C# 中使用 EF 编写此存储过程?

CREATE PROCEDURE FilterDocumentByNumber
    @Number NVARCHAR(30)
AS
BEGIN
    SELECT *
    FROM Document
    WHERE DocumentNumber = @Number
      AND CostGroupId IN (SELECT CostGroupId
                          FROM CostGroups
                          WHERE CostGroupType = 1)
END

谢谢

【问题讨论】:

标签: c# sql-server entity-framework stored-procedures


【解决方案1】:

当您将所有内容都扔在这里并期望人们为您完成工作时,SO 并不是一个网站。

无论如何,给你一些提示,我给你一个直截了当的建议:

Select CostGroupId From CostGroups Where CostGroupType = 1 --> 将这些存储在一个集合中,就像一个数组:

var costGroupsIdArr = ctx.CostGroup.Where(x=>x.CostGroupType == 1).Select(x.CostGroupId).toArray();

然后从这里获取您的主要查询:

Select  *
From    Document
Where   DocumentNumber  =   @Number

这是最后的结果:

var result = ctx.Document.Where(x=>x.DocumentNumber == number && vostGroupsIdArr.Contains(x.CostGroupId)).ToList();

您可以尝试从我的 sn-p 中弄清楚自己还需要什么

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-10
    • 1970-01-01
    • 2011-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-08
    相关资源
    最近更新 更多