2016-07-01 1 views
0

J'ai une fonction SQL comme celui-ci, nommé AgeCalcComment puis-je utiliser une fonction SQL de la section de code C# en utilisant Entity Framework dans 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 

Comment puis-je appeler cette fonction AgeCalc de mon côté de code C#? Je l'ai appelé une procédure de cette façon

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

Ici inT_pop est mon nom de la procédure est la même façon que je peux appeler une fonction aussi?

+0

Jetez un coup d'oeil ici, il peut être votre réponse http://stackoverflow.com/questions/31729442/call-a-scalar-valued-function-in- entity-framework-6? lq = 1 – gdmanandamohon

Répondre

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

espoir que cela pourrait être utile

+0

Il semble que vous avez essayé dans ADO.NET, mais le questionneur a demandé une solution dans Entity Framework – gdmanandamohon

+0

@ user2256217, j'utilise une fonction avec EF pas avec ado.net. vous pourriez être confus s'il vous plaît regarder de plus près. – Krish