Chào mọi người, hôm nay mình sẽ giới thiệu 1 trong những cách kết nối database sử dụng entity framework trong C#

Trong phần này, mình sẽ dùng 1 Console Application để add, update, delete các nguyên liệu (Material) trong database.

Chuẩn bị database bằng SQL Server.

Ở đây mình dùng SQL 2008 và kết nối db local

Ta tạo 1 DB tên Material, trong đó tạo 1 bảng Material luôn :D, chú ý ở đây minh sử dụng ID của bảng là khóa, và tự tăng (auto increament)

Sau đó vào Visual studio

Tạo project:

Ta chọn File -> New -> New project…

Tải thư viện entity framework tại Manage Nuget Packages…

Chọn chuột phải vài Reference – > Chọn Manage Nuget Packages

Thêm Model cho Project

Chọn chuột phải vào project -> Add -> New Item… -> Chọn vào ADO.NET Entity Data Model trong mục Data

Ở đây code của mình là database-first, nên ta sẽ chọn EF Designer from database

Tiếp, tạo connection string để kết nối đến database. Chọn New Connection

Mình chọn server là máy local của minh (lưu ý: trước khi chọn mũi tên xổ xuống thì nên chọn refresh trước).

Chọn database mình đã chuẩn bị phía trên. Sau đó, chọn Test Connection để kiểm tra mọi thứ ta làm là đúng.

Ở đây mình sẽ dung Entity Framework 5.0.

Tiếp đến chọn bảng để EF sinh ra các bảng cho minh.

Lưu ý đặt tên Model Namespace nhé

Vậy là chuẩn bị xong rồi, code thôi

Mình sẽ làm trong class Program mặc định của project luôn. Ở các project thì mình nghĩ các bạn nên để Model ở project riêng, sau đó add reference đến nó.

Để sử dụng entity, ta khởi tạo entity bằng cách

 MaterialEntities db = new MaterialEntities(); 

MaterialEntities chính là tên mình đã đặt ở phía trên. (Hình thứ 7).

– Các phần cơ bản để ta thao tác trên db:

 var materials = db.Materials.ToList() // lấy tất cả dữ liệu trong bảng Material. Nếu có bảng khác thì là db.ABC.. db.Materials.Add(material); //thêm vào database db.Entry(currentInstance).State = System.Data.Entity.EntityState.Modified; //thay đổi trạng thái của instance trên db; db.SaveChanges(); //cập nhật thay đổi 

Dưới đây là code mẫu của mình

 class Program { MaterialEntities db; public Program() { // khoi tao entity db = new MaterialEntities(); // them moi 2 material AddMaterial(new Material { Code = "M01", Name = "Material1", Weight = 10.9, Unit = "kg" }); AddMaterial(new Material { Code = "M02", Name = "Material2", Weight = 10.1, Unit = "kg" }); // get tat ca du lieu trong bang Material trong database var materials = db.Materials.ToList(); // in cac material ra foreach (var item in materials) { Console.WriteLine("Material: " ); Console.WriteLine("Code: " + item.Code); Console.WriteLine("Name: " + item.Name); Console.WriteLine("Weight: " + item.Weight); Console.WriteLine("Unit: " + item.Unit); Console.WriteLine("---------------------"); } } static void Main(string[] args) { Program p = new Program(); Console.ReadKey(); } public void AddMaterial(Material material) { db.Materials.Add(material); db.SaveChanges(); } public void EditMaterial(Material newMaterial) { var material = db.Materials.Where(m => m.ID == newMaterial.ID).FirstOrDefault(); material.Code = newMaterial.Code; material.Name = newMaterial.Name; material.Weight = newMaterial.Weight; material.Unit = newMaterial.Unit; db.Entry(material).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); } } 

Post Views: 1,145

Share this:

Related

ĐỂ LẠI PHẢN HỒI CỦA BẠN TẠI ĐÂY

Phản hồi về bài viết này

NO COMMENTS

LEAVE A REPLY


*