Wednesday, March 25, 2009

Using Stored Procedures in LINQ

CREATE PROCEDURE dbo.GetPeople
AS
Select PersonId, FirstName, LastName
From People
GO



CREATE PROCEDURE dbo.GetPersonByPersonId

@PersonId int

AS

Select PersonId, FirstName, LastName

From People

Where PersonId = @PersonId

Return

public class Program {



rivate static string _conn = ConfigurationManager.ConnectionStrings["lin@"].ConnectionString;



public static void Main(string[] args) {

Blog db = new Blog(_conn);

foreach (var person in db.GetPeople()) {

Console.WriteLine("PersonId: {0} Name: {1} {2}", person.PersonId, person.FirstName, person.LastName);

}

// we maintain the expressiveness of linq

var query = from p in db.GetPeople() orderby p.LastName select new {p.FirstName, p.LastName};

foreach (var person in query) {

Console.WriteLine("{0}, {1}", person.FirstName, person.LastName);

}

// calling a sproc which takes an arg

var bart = db.GetPersonByPersonId(4).Single();

Console.WriteLine("{0} {1}", bart.FirstName, bart.LastName);

}

}

}

No comments: