Raj endran
Raj endran

Reputation: 1

How to join parameterized stored procedure with tables in LINQ c#

I have tried this

var Result = from a in db.ViewEntity // view 
let b = db.sp_Get_log(a.id) // parametrized stored procedure  returns rowset 
select new LogFields
{
   UniqueID = a.ID,
   WorkFlow_Status = a.Document_Status,
   Creator = a.Creator,
   Duration = a.Duration,
   Approver = b.LastOrDefault().Action_User // this
};

But I am getting this error, please help.

LINQ to Entities does not recognize the method System.Data.Objects.ObjectResult1[db.Agent.sp_Get_log_Fields] sp_Get_log(System.String)' method, and this method cannot be translated into a store expression.

Upvotes: 0

Views: 504

Answers (1)

Ehsan Sajjad
Ehsan Sajjad

Reputation: 62498

First get results in memory then call stored procedure this way:

var ResultList = db.ViewEntity.ToList();

var Result =  from a in ResultList 
let b = db.sp_Get_log(a.id) // parametrized store procedure returns rowset 
select new LogFields
{
   UniqueID = a.ID,
   WorkFlow_Status = a.Document_Status,
   Creator = a.Creator,
   Duration = a.Duration,
   Approver = b.LastOrDefault().Action_User // this
};

Upvotes: 1

Related Questions