Tuesday, 10 January 2012

implementing sql "in" in linq to sql

using (DataContext dc = new DataContext("connectionstring"))

   {

     List<string> names = new List<string>();

    names.Add("Anderson");

    names.Add("Johnson");

    List<Person> list = (from p in dc.GetTable<Person>() where names.Contains(p.LastName) select p).ToList();

  }

equivalent Sql generated by the above is

DECLARE @p1 NVarChar(8);

DECLARE @p0 NVarChar(7);

Select @p1 = 'Johnson';

Select @p0 = 'Anderson';

-- Context: SqlProvider(Sql2005) Model: AttributedMetaModel Build: 3.5.21022.8

SELECT [t0].[Id], [t0].[FirstName], [t0].[LastName]

FROM [dbo].[Person] AS [t0]

WHERE [t0].[LastName] IN (@p0, @p1)

this is found in googling, don't remember url

No comments:

Post a Comment