Share via


EF 4.1 Code First - Running SQL Queries

ADO.NET Entity Framework’s Code First 4.1 allows us to execute SQL queries directly. You may need to get one column output or quickly update a table. One thing we need to be careful about running these raw queries is that you need to be double sure about the validity of these…

If you are viewing this article and new to ADO.NET Entity Framework Code First then please visit my blog at https://blogs.msdn.com/b/wriju/archive/2011/04/10/ado-net-entity-framework-code-first-development.aspx

Option 1 If I want to add values to my database,

//Adding data through query
var q1 = db.Database.ExecuteSqlCommand("INSERT INTO Departments(DeptName) Values('Test')");

Option 2 Now want to read data store it already available entity. You need to call .ToList() to trigger the execution.

 //Reading data through query
var q2 = db.Depts.SqlQuery("SELECT * FROM Departments").ToList();

Option 3 Want to read data but do not have any entity.

 var q3 = db.Database.SqlQuery<string>("SELECT DeptName FROM Departments").ToList();

Namoskar!!!

Comments

  • Anonymous
    April 11, 2011
    Yes, and even Entity-SQL queries: ObjectContext ctx = (db as IObjectContextAdapter).ObjectContext; ObjectQuery<Post> q = ctx.CreateQuery<Post>("SELECT VALUE p FROM Post AS p"); List<Post> posts = q.ToList();

  • Anonymous
    November 05, 2013
    For me , Code First replaces Query , I don't want and don't need them 4ever