2016-07-01 14 views
0

Ich habe eine SQL-Funktion wie diese, mit dem Namen AgeCalcWie verwende ich eine SQL-Funktion von C Abschnitt # -Code mit Entity Framework in 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 

Wie kann ich nenne diese AgeCalc Funktion von meinem C# -Code Ende? Ich habe ein Verfahren auf diese Weise genannt

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

Hier inT_pop ist mein Verfahren Name ist genauso wie ich auch eine Funktion aufrufen kann?

+0

einen Blick hier haben, kann es Ihre Antwort sein http://stackoverflow.com/questions/31729442/call-a-scalar-valued-function-in- entity-framework-6? lq = 1 – gdmanandamohon

Antwort

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

Hoffnung dies hilfreich sein könnte

+0

Es scheint, dass Sie in ADO.NET versucht haben, aber der Fragesteller fragte nach einer Lösung in Entity Framework – gdmanandamohon

+0

@ user2256217, ich verwende eine Funktion mit EF nicht mit ado.net. Sie könnten verwirrt sein, bitte schauen Sie genauer hin. – Krish