6

Giả sử cấu trúc bảng sau:Entity Framework CTP5 (Mã đầu tiên) Modeling - bảng tra cứu

Bàn:

**Tasks** 
taskID int PK 
taskName varchar 

**Resources** 
resourceID int PK 
resourceName varchar 

**Assignments** 
assignmentID int PK 
taskID int FK 
resourceID int FK 

Bảng nhiệm vụ liên quan một nhiệm vụ với tài nguyên được gán cho nó. Có thể ánh xạ cấu trúc này với trình tạo mô hình để tôi không phải tạo một lớp poco Nhiệm vụ - ẩn một số cấu trúc dữ liệu cơ bản không?

tức là .:

public class Task 
{ 
    public int taskID { get; set; } 
    public string taskName { get; set; } 

    public virtual ICollection<Resource> resourceItems { get; set; } 
} 

public class Resource 
{ 
    public int resourceID { get; set; } 
    public string resourceName { get; set; } 
} 

Làm thế nào tôi có thể sử dụng xây dựng mô hình để lập bản đồ nhiệm vụ với các nguồn lực mà không cần tạo một lớp poco chuyển nhượng?

Trả lời

3

Here is an article about this very thing.

Edit, tôi không có một IDE trước mặt tôi vì vậy đây có thể không được chính xác cú pháp "mới nhất", nhưng nó sẽ giúp bạn bắt đầu:

modelBuilder.Entity<Task>().HasMany(a => a.Resources).WithMany(b => b.Tasks).Map(m => 
{ 

    m.MapLeftKey(a => a.TaskId,"taskId"); 

    m.MapRightKey(b => b.ResourceId, "resourceId"); 

    m.ToTable("Assignments"); 

}); 
+0

Trong bài viết mà EF được làm điều đó trong ssdl & csdl. Tôi cần phải biết làm thế nào để ánh xạ nó trong mã bằng cách sử dụng trình tạo mô hình. Tôi có thể không rõ ràng trong câu hỏi của tôi rằng tôi đang sử dụng cách tiếp cận mã đầu tiên trong CTP5. Tôi đã cập nhật tiêu đề của mình. –