【问题标题】:LINQ stored procedure and return valueLINQ 存储过程和返回值
【发布时间】:2011-10-17 19:42:34
【问题描述】:

我在 dataContext 中有 SQL 查询(存储过程)和生成的方法。

在我的存储过程中,我选择了 4 行,但在 ReturnValue 我有“0”。

(4 row(s) returned)
@RETURN_VALUE = 0

我可以返回行吗? :(

在存储库中:

public IEnumerable<Index_RandomTale> GetRandomTalesForIndex()
{
    return _dataContext.Index_GetRandomTales().ReturnValue as IEnumerable<Index_RandomTale>;
}

在我的控制器中:

IEnumerable<Index_RandomTale> tales = _dataManager.commonRepository.GetRandomTalesForIndex();

【问题讨论】:

    标签: .net sql-server linq-to-sql stored-procedures


    【解决方案1】:

    这里我可能错了,但你实际上并不想要返回值,你只想要函数调用,所以应该是这样的:

    public IEnumerable<Index_RandomTale> GetRandomTalesForIndex()
    {
        return _dataContext.Index_GetRandomTales() as IEnumerable<Index_RandomTale>;
    }
    

    【讨论】:

    • 是的,刚刚也找到了这个答案。
    • 还有一个问题。我应该创建 ViewModel 以在 LINQ 中映射来自 SP 的结果数据,还是如我所见,它是使用类名 = SP 名称自动创建的?
    • 是的,你可能也不再需要 IEnumerable&lt;&gt;
    • @FSou1,您可能应该为此打开另一个问题,但使用 orm 生成的类作为您的视图模型通常不是一个好主意,因为它们附加了状态信息。
    • 不,不,不适用于 View 中的 ViewModel - 用于映射。我在上面的帖子中有错误。
    猜你喜欢
    • 1970-01-01
    • 2017-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-02
    相关资源
    最近更新 更多