在Linq-to-Entities查询中调用存储过程

时间:2015-07-23 16:25:09

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

我正在使用EF 6& Visual Studio 13免费社区。

我在当前项目中使用数据库优先方法。

我创建了一个SQL Server数据库项目并将其添加到我的项目中以使用EF

我创建了表格&一些存储过程。在我将db添加到我的项目后,它创建了一个类procedure_name_Result,我需要在我的项目中使用linq查询,但我不知道如何在查询中调用它,或者它是否甚至会识别它因为我无法在上传的数据库中看到它

编辑感谢您的回答我能够知道如何调用Linq查询

var query = from X where Y 
            select new {
                         elemnt, 
                         var_inside_query = DB.procedure_name(@params) 
                       };

2 个答案:

答案 0 :(得分:0)

尝试阅读有关EF中存储过程使用的一些内容。

您应该会发现这些文章有用123

答案 1 :(得分:0)

我使用Northwind数据库作为示例项目。

using System;
using System.Collections.Generic;
using System.Linq;

namespace EF_SP
{
    class Program
    {
        static void Main(string[] args)
        {
            using (var context = new NorthwindEntities())
            {
                var results = context.GetSalesByCategory("Seafood", "1998");

                foreach (var result in results)
                    Console.WriteLine("{0} {1}", result.ProductName, result.TotalPurchase);
            }

            Console.WriteLine("Press any key. . .");
            Console.ReadKey(true);
        }
    }
}