我有一个存储过程有三个参数,我一直在尝试使用以下命令返回结果:
context.Database.SqlQuery<myEntityType>("mySpName", param1, param2, param3);
Run Code Online (Sandbox Code Playgroud)
起初我尝试使用SqlParameter对象作为参数,但这不起作用并抛出SqlException以下消息:
过程或函数'mySpName'需要参数'@ param1',这是未提供的.
所以我的问题是你如何使用这个方法与期望参数的存储过程?
谢谢.
我在我当前的项目中使用Entity Framework Code First.数据库由许多表,许多视图和许多函数组成.我可以使用Entity Framework Code First创建表.但我无法找到使用Entity Framework Code First创建存储过程的方法.我知道Database-First策略将满足我的要求,一切运行良好,但我不想将Database-First策略用于我现有的项目代码.
请帮助我一个人,使用Entity Framework Code First策略创建存储过程的最佳方法是什么?
请帮帮我,谢谢.
我在Entity Framework中定义了我的模型(代码优先),但是如何在模型中定义存储过程?我想创建我的模型,并在从我的模型生成数据库时让它在我的数据库中生成存储过程.
我在一个项目中使用Code First.该项目已完成一半.我需要调用存储过程来返回多个结果(3个选择).我的研究告诉我,Code First不支持它.我有什么选择?更改项目以使用模型第一?
"请注意,通常应避免使用独立关联,因为像N-Tier和并发性这样的东西变得更加困难."
我是EF4的新手,我正在构建一个n-tier网络应用程序.这听起来像是一个重要的陷阱.有人可以向我解释这意味着什么吗?
foreign-keys associations n-tier-architecture entity-framework-4 entity-framework-ctp5
我使用此代码来定义我的存储过程
CREATE PROCEDURE [dbo].[SP]
(@Country NVARCHAR(20))
AS
BEGIN
SET NOCOUNT ON;
SELECT c.*,O.* from Customers
as c inner join orders O on c.CustomerID=o.CustomerID
where c.Country=@Country
END
Run Code Online (Sandbox Code Playgroud)
这是我的C#代码:
IList<Entities.Customer> Customers;
using (var context = new NorthwindContext())
{
SqlParameter categoryParam = new SqlParameter("@Country", "London");
Customers = context.Database.SqlQuery<Entities.Customer>("SP @Country", categoryParam).ToList();
}
Run Code Online (Sandbox Code Playgroud)
问题在这里:
我想从Orders表中发送数据,我的存储过程生成这个给我.如何Orders在C#代码中获取数据?记住我只想执行一次这个存储过程.