Channel 9 Video on Entity Framework 4.1

Channel 9 Video on Entity Framework 4.1

  • Comments 0

Published the video on ADO.NET Entity Framework 4.1 Code First Development video. This covers quickly the basic features if this amazing product.

image

Check it out at http://channel9.msdn.com/posts/EF41CodeFirst

The code used for the demo is

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Entity;
using System.ComponentModel.DataAnnotations;

namespace EF41CodeFirst_BDotnet
{
    //Dept Class
    public class Dept
    {
        public Dept()
        {
            EmpDepts = new List<EmpDept>();
        }
        [Key] //Primary Key column
        public int MyId { get; set; }
        public string DeptName { get; set; }
        public string Location { get; set; }

        //For 1 to Many with EmpDept
        public virtual ICollection<EmpDept> EmpDepts { get; set; }
    }

    public class EmpDept
    {
        public int EmpDeptId { get; set; }
        public string EmpName { get; set; }

        //For foreign key
        public virtual Dept Dept { get; set; }
    }

    //Context to initialize connection using DbContext as base class
    public class HRContext : DbContext
    {
        public DbSet<Dept> Depts { get; set; }
        public DbSet<EmpDept> EmpDepts { get; set; }
    }
    
    class Program
    {
        static void Main(string[] args)
        {
            //Drop the database if model changes
            Database.SetInitializer<HRContext>(new DropCreateDatabaseIfModelChanges<HRContext>());

            //Adding values to the database
            using (var ctx = new HRContext())
            {
                var d1 = new Dept() { DeptName = "Programming" };
                var d2 = new Dept() { DeptName = "IT" };

                new List<EmpDept>
                {
                    new EmpDept(){EmpName = "Wriju", Dept = d1},
                    new EmpDept(){EmpName = "Saswati", Dept = d1},
                    new EmpDept(){EmpName = "Writam", Dept = d2},
                    new EmpDept(){EmpName = "Wrishika", Dept = d2},
                    new EmpDept(){EmpName = "Sreemoyee", Dept = d1},
                    new EmpDept(){EmpName = "Bingo", Dept = d1}
                }.ForEach(e => ctx.EmpDepts.Add(e));

                ctx.SaveChanges();

                //Selecting data using Lazy Loading
                var q = from d in ctx.Depts
                        select d;

                foreach (var dep in q)
                {
                    Console.WriteLine(dep.DeptName);
                    Console.WriteLine("+++++++++++++++++++++++++");
                    foreach (var e1 in dep.EmpDepts)
                    {
                        Console.WriteLine(e1.EmpName);
                    }
                    Console.WriteLine();
                }
            }
        }
    }
}

Namoskar!!!

Leave a Comment
  • Please add 4 and 4 and type the answer here:
  • Post