在瞭解Entity Framework是什麼前,咱們先的知道ORM是什麼,ORM是一種對象關係映射思想,咱們能夠這樣理解:數據庫
簡稱EF是微軟對ORM(對象關係映射)思想的一種框架,底層仍然是ADO.NET,即對數據庫的訪問。c#
開始操做前,先創建一個數據庫bash
namespace EFDemo
{
class Program
{
static void Main(string[] args)
{
Add();
Console.ReadKey();
}
private static void Add()
{
EFDemoEntities ef = new EFDemoEntities();//實例化上下文
EFTableSet user = new EFTableSet()//實例化一個用戶類
{
Id=1,
Name="張三",
Age="19"
};
ef.EFTableSet.Add(user);//添加到數據對象裏
ef.SaveChanges();//保存到數據庫
}
}
}
複製代碼
private static void Select()
{
EFDemoEntities ef = new EFDemoEntities();//實例化上下文
var list = ef.EFTableSet.Where(m => true).ToList();//lambda表達式查詢
var list2 = from item in ef.EFTableSet select item;//link表達式查詢
foreach (var item in list2)
{
Console.WriteLine(" "+item.Id+" "+item.Name+" "+item.Age);
}
}
複製代碼
private static void Update(int id)
{
EFDemoEntities ef = new EFDemoEntities();//實例化上下文
EFTableSet user = ef.EFTableSet.Where(m => m.Id == id).FirstOrDefault();//FirstOrDefault查詢第一個
if (user != null)
{
user.Name = "李四";
user.Age = "20";//修改的內容
ef.EFTableSet.Attach(user);//附加到上下文
ef.Entry<EFTableSet>(user).State = System.Data.Entity.EntityState.Modified;//修改實體的狀態爲修改
ef.SaveChanges();//保存到數據庫
Console.WriteLine("修改爲功");
}
else
{
Console.WriteLine("查詢不到對象,沒法修改");
}
}
複製代碼
EF可以以相對傳統開發編寫更少的代碼來建立和維護應用程序框架
呼~可算寫完了,咱們使用EF能夠發現,他很是方便,不須要咱們去寫SQL語句了,並且他是強類型的,固然對於一些複雜的查詢咱們仍然可在EF中使用!性能