不要将存储过程结果作为列表返回

时间:2013-06-21 13:52:03

标签: c# mysql entity-framework asp.net-mvc-4

目标

不要将存储过程结果作为列表返回。

问题

我的存储过程运行良好,但到目前为止,我已经提出了多个结果。我现在的愿望只带来一个结果。

查看我的查询:

Select product.Name as productName, measure.Abbreviation as measureAbbreviation
From bm_products As product
Join bm_measures As measure On measure.Id = product.MeasureId
Where product.Id = productId;

如您所见,我正在搜索一个具有指定ID的产品。当我执行此过程时,我的结果是:

Preview 1

我已经运行了函数import,并且我使这个构建器(Builders/Products.cs)向我提供了查询结果:

public static List<getSpecificProductToShoppingList_Result>
                   BuildItemToShoppingList(Nullable<int> productId)
{
    List<getSpecificProductToShoppingList_Result> product = 
    db.
       getSpecificProductToShoppingList(productId).
       ToList<getSpecificProductToShoppingList_Result>();
    return product;
}

是的,它正在生成一个List,因为我说要生成,但关键是:我只有一个结果 - 我不需要结果列表。

如何将构建器更改为我想要的工作?

详细

我正在使用C#.Net + MVC 4 + Entity Framework 5 + Razor Engine。

为什么-1?

有人对我的问题不屑一顾。为什么呢?

1 个答案:

答案 0 :(得分:1)

public static getSpecificProductToShoppingList_Result
                   BuildItemToShoppingList(Nullable<int> productId)
{
    getSpecificProductToShoppingList_Result product = 
    db.
       getSpecificProductToShoppingList(productId).FirstOrDefault();
    return product;
}

将返回列表中的第一个对象,如果没有此类对象,则返回null。