c# - LINQ query to SQL query using DbSet and Entity Framework code-first -


here trying sql query out of linq query using dbcontext , dbset.

and observation when perform following query

learning.data.datacontext db = new data.datacontext(); var query = db.employees.where("id == @0", guid.empty); 

the query.tostring() gives me sql fine

select  [extent1].[id] [id],  [extent1].[name] [name],  [extent1].[description] [description],  [extent1].[cityid] [cityid] [dbo].[employees] [extent1] cast('00000000-0000-0000-0000-000000000000' uniqueidentifier) = [extent1].[id] 

but when use variables query parameters not sql compatible i.e

string name = "test" learning.data.datacontext db = new data.datacontext(); var query = db.employees.where("id == @0", guid.empty); query =query.where(t => t.contacts.any(l=>l.name == name));; 

i query.tostring() follows

select  [extent1].[id] [id],  [extent1].[name] [name],  [extent1].[description] [description],  [extent1].[cityid] [cityid] [dbo].[employees] [extent1] (cast('00000000-0000-0000-0000-000000000000' uniqueidentifier) = [extent1].[id]) , ( exists (select      1 [c1]     [dbo].[contacts] [extent2]     ([extent1].[id] = [extent2].[employeeid]) , ([extent2].[name] = @p__linq__0) 

we have tried getting internal query , converting objectquery , tried totracestring well. result still same.

please solution.

regards,

naga sreenivas gupta v


Comments