DataContext in LINQ

To make a communication with Database a connection must be made. In LINQ this connection is created by DataContext.

Essentially Data Context class performs below two tasks

  1. Create connection to database.
  2. It submits and retrieves object to database.
  3. Converts objects to SQL queries and vice versa

image

You can say, it acts as exactly the same as SqlConnection class and perform some extra tasks as well like conversion of object to SQL query.

DataContext class is having four types of overloaded constructor.

image

It may take

  1. Connection string
  2. IDbConnection etc

Various public methods of DataContext class help us to perform below tasks

  1. Create data base
  2. Delete data base etc

You can create and drop a database like below,

Create database

clip_image002

Delete database

clip_image004

Full source code is as below,


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Linq;

namespace ConsoleApplication1
{
    class Program
    {

        static void Main(string[] args)
        {

            DataContext context = new DataContext(GetConnectionString("Yourservername"));
            bool dbExist = context.DatabaseExists();
            if (dbExist == true)
            {

                context.DeleteDatabase();
                Console.WriteLine("Database deleted");
            }
            else
            {
                context.CreateDatabase();
                Console.WriteLine("Database created");
            }
            Console.ReadKey(true);

        }

        static string GetConnectionString(string serverName)
        {

            System.Data.SqlClient.SqlConnectionStringBuilder builder =
                           new System.Data.SqlClient.SqlConnectionStringBuilder();
            builder["Data Source"] = serverName;
            builder["integrated Security"] = true;
            builder["Initial Catalog"] = "Sample2";
            Console.WriteLine(builder.ConnectionString);
            Console.ReadKey(true);
            return builder.ConnectionString;

        }
    }
}

Strongly Typed Data Context

Strongly typed Data context can be created by below steps

  1. Create class to represent strongly type data context
  2. Inherits the class from DataContext class.

clip_image002[5]

Advantage of using strongly typed data context is that each table is available in Table collections. So you do not need to fetch tables using GetTable method.

I hope this post was useful. Thanks for reading Smile

Add to FacebookAdd to DiggAdd to Del.icio.usAdd to StumbleuponAdd to RedditAdd to BlinklistAdd to TwitterAdd to TechnoratiAdd to Yahoo BuzzAdd to Newsvine

Dhananjay Kumar is Developer, Blogger , Speaker, Learner , Mindcracker & Microsoft MVP.

Tagged with: ,
Posted in LINQ
2 comments on “DataContext in LINQ

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Categories
Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my current or previous employer's view in anyway. © Copyright 2013
Follow

Get every new post delivered to your Inbox.

Join 2,133 other followers

%d bloggers like this: