Most Popular

Thứ Hai, 15 tháng 6, 2015

Cách viết code tạo database mới với Entity Framework

Đây là video hướng dẫn viết code tạo database sử dụng Entity Framwork một cách dễ dàng nhất


Yêu cầu:

Bạn cần sử dụng VS 2010 trở lên nhé.
Nếu bạn sử dụng Visual Studio 2010, cần phải cài đặt NuGet

1. Tạo 1 ứng dụng

  • Mở Visual Studio
  • File -> New -> Project…
  • Chọn Windows -> Console Application
  • Enter CodeFirstNewDatabaseSample as the name
  • Chọn OK

2. Tạo Model

Bây giờ chúng ta sử dụng 1 class đơn giản để tạo một lớp Model, Chúng ta thiết kế nó trong Program.cs luôn nhé.

Sau đây chúng ta khai báo các thuộc tính cần thiết.
public class Blog 
    public int BlogId { get; set; } 
    public string Name { get; set; } 
 
    public virtual List<Post> Posts { get; set; } 
}   
public class Post 
    public int PostId { get; set; } 
    public string Title { get; set; } 
    public string Content { get; set; } 
 
    public int BlogId { get; set; } 
    public virtual Blog Blog { get; set; } 
}
Bạn sẽ nhận thấy rằng chúng tôi đang làm cho hai thuộc tính chuyển hướng ( Blog.Posts và Post.Blog) ảo . Điều này cho phép các tính năng tải Lazy của Entity Framework. Lazy Loading có nghĩa là nội dung của những thuộc tính này sẽ được tự động tải từ cơ sở dữ liệu khi bạn cố gắng để truy cập chúng .

3. Tạo Context

 Bây giờ là thời gian để định nghĩa một Context gốc, trong đó đại diện cho một phiên làm việc với cơ sở dữ liệu, cho phép chúng ta truy vấn và lưu dữ liệu. Chúng ta xác định một Context gốc từ System.Data.Entity.DbContext và trình bày một DbSet<TEntity> cho mỗi lớp trong mô hình của chúng tôi.

Hiện Chúng ta đang bắt đầu sử dụng các loại từ các khung Entity vì vậy tôi cần phải thêm các gói EntityFramework NuGet.

- Project –> Manage NuGet Packages…
Chú ý: Nếu không có Manage NuGet Packages… chọn cài đặt latest version of NuGet
- Chọn tab Online

- Chọn EntityFramework package
- Click Install


Khai báo thêm thư viện System.Data.Entity
using System.Data.Entity;
Bên dưới lớp viết trong Program.cs thêm Context.
public class BloggingContext : DbContext 
    public DbSet<Blog> Blogs { get; set; } 
    public DbSet<Post> Posts { get; set; } 
}
Dưới đây là một danh sách đầy đủ của những gì Program.cs giờ nên chứa.
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Data.Entity; 
 
namespace CodeFirstNewDatabaseSample 
    class Program 
    { 
        static void Main(string[] args) 
        { 
        } 
    public class Blog 
    }   
    { 
        public int BlogId { get; set; } 
        public string Name { get; set; } 
 
        public virtual List<Post> Posts { get; set; } 
    }   
    public class Post 
    { 
        public int PostId { get; set; } 
        public string Title { get; set; } 
        public string Content { get; set; } 
 
        public int BlogId { get; set; } 
        public virtual Blog Blog { get; set; } 
    }   
    public class BloggingContext : DbContext 
    { 
        public DbSet<Blog> Blogs { get; set; } 
        public DbSet<Post> Posts { get; set; } 
    } 
}


Đó là tất cả các mã chúng ta cần phải bắt đầu lưu trữ và truy xuất dữ liệu. Rõ ràng là có khá một chút xảy ra đằng sau hậu trường và chúng tôi sẽ có một cái nhìn ở đó trong một thời điểm nhưng trước tiên chúng ta hãy xem nó trong hành động.

4. Đọc & Ghi dữ liệu

Thực hiện phương pháp chính trong Program.cs như hình dưới đây. Mã này tạo ra một thể hiện mới của bối cảnh của chúng tôi và sau đó sử dụng nó để chèn một Blog mới. Sau đó, nó sử dụng một truy vấn LINQ để lấy tất cả Blogs từ cơ sở dữ liệu ra lệnh theo thứ tự abc theo Tiêu đề.
class Program 
    static void Main(string[] args) 
    { 
        using (var db = new BloggingContext()) 
        { 
            // Create and save a new Blog 
            Console.Write("Enter a name for a new Blog: "); 
            var name = Console.ReadLine(); 
 
            var blog = new Blog { Name = name }; 
            db.Blogs.Add(blog); 
            db.SaveChanges();   
            // Display all Blogs from the database 
            var query = from b in db.Blogs 
                        orderby b.Name 
                        select b;   
            Console.WriteLine("All blogs in the database:"); 
            foreach (var item in query) 
            { 
                Console.WriteLine(item.Name); 
            }   
            Console.WriteLine("Press any key to exit..."); 
            Console.ReadKey(); 
        }      } 
}
Bây giờ bạn có thể chạy các ứng dụng và kiểm tra nó ra.
Enter a name for a new Blog: ADO.NET Blog
All blogs in the database:
ADO.NET Blog
Press any key to exit...

Nếu các bạn chưa biết cách mở dữ liệu đã tạo các bạn xem phần tiếp theo
Share this post
  • Share to Facebook
  • Share to Twitter
  • Share to Google+
  • Share to Stumble Upon
  • Share to Evernote
  • Share to Blogger
  • Share to Email
  • Share to Yahoo Messenger
  • More...

0 nhận xét

 
© 2011 Share Tài Liệu
Posts RSSComments RSS
Back to top