2016-07-01 3 views
0

У меня есть SQL-функция, как это, по имени AgeCalcКак использовать функцию SQL из раздела # кода C помощью Entity Framework в MVC 4

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 [email protected]_date) 
END 

Как я могу назвать эту AgeCalc функции от моего конца # кода C? Я назвал процедуру таким образом

DBC dbc = new DBC(); 
dbc.Database.SqlQuery<tbl_user>("inT_pop @id", new SqlParameter("@id", 2)).ToList(); 

Здесь inT_pop моя фамилия процедура, такая же, как я могу вызвать функцию тоже?

+0

Посмотри здесь, это может быть ваш ответ http://stackoverflow.com/questions/31729442/call-a-scalar-valued-function-in- entity-framework-6? lq = 1 – gdmanandamohon

ответ

0
YourContext.CreateQuery<bool>(
"SELECT VALUE YourModel.Store.UserDefinedFunction(@Parameter1) FROM {1}", 
new ObjectParameter("Parameter1", Parameter1Value)).First(); 

Надеется, что это может быть полезным

+0

Кажется, что вы пробовали в ADO.NET, но вопросик попросил решение в Entity Framework – gdmanandamohon

+0

@ user2256217, я использую функцию с EF не с ado.net. вы можете быть смущены, пожалуйста, присмотритесь. – Krish