public class Blog{
public int BlogId { get; set; }public string Name { get; set; }public virtual List<Post> Posts { get; set; }}public class Postpublic 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 .
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 CodeFirstNewDatabaseSampleclass 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.
class Program{
static void Main(string[] args){using (var db = new BloggingContext()){// Create and save a new BlogConsole.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 databasevar query = from b in db.Blogsorderby b.Nameselect 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();} }}
0 nhận xét