如何使用 C# 代码部分中的 SQL 函数使用 MVC 4 中的实体框架
Posted
技术标签:
【中文标题】如何使用 C# 代码部分中的 SQL 函数使用 MVC 4 中的实体框架【英文标题】:How do I use a SQL function from C# code section using Entity Framework in MVC 4 【发布时间】:2016-07-01 09:37:09 【问题描述】:我有一个这样的 SQL 函数,命名为 AgeCalc
USE [DB_test]
GO
/****** Object: UserDefinedFunction [dbo].[AgeCalc] Script Date: 01-Jul-16 3:31:52 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER FUNCTION [dbo].[AgeCalc]()
RETURNS NUMERIC(9,2)
AS
BEGIN
DECLARE @birth_date DATETIME
DECLARE @today_date DATETIME
DECLARE @age NUMERIC(9,2)
SELECT @birth_date = DofB FROM dbo.Table_formula
SELECT @today_date = InpDate FROM dbo.Table_formula
RETURN CONVERT(NUMERIC(9,2), @birth_date -@today_date )
END
如何从我的 C# 代码端调用这个 AgeCalc
函数?我已经以这种方式调用了一个过程
DBC dbc = new DBC();
dbc.Database.SqlQuery<tbl_user>("inT_pop @id", new SqlParameter("@id", 2)).ToList();
这里inT_pop
是我的过程名称,我也可以调用函数吗?
【问题讨论】:
看这里,它可以是你的答案***.com/questions/31729442/… 【参考方案1】:YourContext.CreateQuery<bool>(
"SELECT VALUE YourModel.Store.UserDefinedFunction(@Parameter1) FROM 1",
new ObjectParameter("Parameter1", Parameter1Value)).First();
希望这可能会有所帮助
【讨论】:
好像在ADO.NET中试过了,但是提问者要求在Entity Framework中解决 @user2256217,我正在使用带有 EF 的函数而不是 ado.net。您可能会感到困惑,请仔细查看。以上是关于如何使用 C# 代码部分中的 SQL 函数使用 MVC 4 中的实体框架的主要内容,如果未能解决你的问题,请参考以下文章
在 C# 的 ToUpper 或 SQL 中的 Upper 函数的性能方面哪个更好