asp.net-mvc – 在实体框架中使用存储过程
发布时间:2020-05-23 07:11:54 所属栏目:asp.Net 来源:互联网
导读:我使用asp.net mvc 5和C#与Entity框架…我有函数的模型和域类…现在我需要使用存储过程….这是我正在努力的运动。 我下面的代码第一个现有的数据库,我有存储过程写在那里。我的问题是如何可以在我的Web应用程序中调用该存储过程。 存储过程: ALTER PROCEDUR
|
我使用asp.net mvc 5和C#与Entity框架…我有函数的模型和域类…现在我需要使用存储过程….这是我正在努力的运动。 我下面的代码第一个现有的数据库,我有存储过程写在那里。我的问题是如何可以在我的Web应用程序中调用该存储过程。 存储过程: ALTER PROCEDURE [dbo].[GetFunctionByID](
@FunctionId INT
)
AS
BEGIN
SELECT *
FROM Functions As Fun
WHERE Function_ID = @FunctionId
END
域类: public class Functions
{
public Functions()
{
}
public int Function_ID { get; set; }
public string Title { get; set; }
public int Hierarchy_level { get; set; }
}
功能型号: [Table("Functions")]
public class App_Functions
{
public App_Functions()
{
}
[Key]
public int Function_ID { get; set; }
[StringLength(50)]
[Required]
public string Title { get; set; }
public int Hierarchy_level { get; set; }
//public virtual ICollection<App_Controllers> App_Controllers { get; set; }*/
}
BaseContext: public class BaseContext<TContext> : DbContext where TContext : DbContext
{
static BaseContext()
{
Database.SetInitializer<TContext>(null);
}
protected BaseContext()
: base("name = ApplicationDbConnection")
{ }
}
功能上下文: public class FunctionsContext : BaseContext<FunctionsContext>
{
public DbSet<App_Functions> Functions { get; set; }
}
解决方法您需要创建一个包含所有存储过程属性的模型类,如下所示。另外因为Entity Framework模型类需要主键,所以可以使用Guid创建一个假键。 public class GetFunctionByID
{
[Key]
public Guid? GetFunctionByID { get; set; }
// All the other properties.
}
然后在您的DbContext中注册GetFunctionByID模型类。 public class FunctionsContext : BaseContext<FunctionsContext>
{
public DbSet<App_Functions> Functions { get; set; }
public DbSet<GetFunctionByID> GetFunctionByIds {get;set;}
}
当你调用存储过程时,只需看下面: var functionId = yourIdParameter;
var result = db.Database.SqlQuery<GetFunctionByID>("GetFunctionByID @FunctionId",new SqlParameter("@FunctionId",functionId)).ToList()); (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – Azure网站301重定向 – 我放在哪里?
- asp.net – 用于验证的数据注释,至少一个必填字段?
- iis-7.5 – 使用虚拟目录/应用程序在IIS中托管ASP.NET 5 We
- asp.net-mvc-2 – 引用用TextBoxFor()创建的控件ID
- asp.net-mvc-3 – MVC 3 WebGrid – 可以进行内联编辑吗?
- asp.net – System.Web.Providers不适用于中等信任
- asp.net – 使用xml类型在SQL Server 2005中存储XSLT?
- asp.net – 向GridView Row添加ID
- asp.net – NLogConfigurationException – 从’System.Str
- ASP.NET成员提供程序 – 单一登录
推荐文章
站长推荐
- asp.net – 任何类似于蚂蚁分析器和免费的工具?
- asp.net-mvc – 如何使用ASP.NET MVC在我的现有数
- asp.net-mvc – 构建视图模型的最佳方法是什么?
- asp.net-mvc – 在MVC2中使用区域
- asp.net – 通过MSMQ分离Web和数据库层是必要的还
- nuget-package – 如何在asp.net 5应用程序中添加
- asp.net 2.0中利用Ajax2.0实现JSON传送大量页面数
- asp.net-web-api – ASP.NET Web API – 404删除
- ASP.NET Web API返回可查询的DTO?
- asp.net-mvc-4 – 为什么MVC4 @ Styles.Render()
热点阅读
