2010-10-01 22 views
11

Theo bài viết này, bạn giả sử có thể thực hiện bao gồm việc sử dụng biểu thức lambda http://romiller.com/2010/07/14/ef-ctp4-tips-tricks-include-with-lambda/.Làm thế nào để sử dụng Bao gồm với Lambda trong EF?

Ví dụ ...

var blogsWithPosts = context.Blogs.Include(b => b.Posts); 

Vì vậy, nơi tôi có ...

IQueryable<Data.Patient> query = ctx.ObjectContext.Patients 
        .Include("Person"); 

Tôi muốn có nó được ...

IQueryable<Data.Patient> query = ctx.ObjectContext.Patients 
        .Include(row => row.Person); 

tôi thêm nhập khẩu cho System.Data.Entity ... nhưng vẫn không thể làm cho nó xảy ra. Tôi đang sử dụng Csla, vì vậy đối tượng bối cảnh của tôi được đặt thành ...

using (var ctx = Csla.Data.ObjectContextManager<ApplicationEntities>.GetManager(Database.ApplicationConnection, false)) 
{ 
} 

Đó có thể là vấn đề ... bất kỳ trợ giúp nào cũng sẽ được đánh giá cao!

Trả lời

7

Đây không phải là một tình trạng quá tải của các tiêu chuẩn ObjectQuery<T>.Include Method và chỉ đơn thuần là một phương pháp mở rộng trên ObjectQuery<T> Lớp đến với EF CTP4.
Để sử dụng Bao gồm phương pháp với lambda bạn cần phải download ADO.NET Entity Framework Feature Community Technology Preview 4 và sau đó thêm một tham chiếu đến Microsoft.Data.Entity.Ctp.dll đến với nó.

+0

Câu hỏi ngớ ngẩn ... bức tượng bán thân là CTP4 không có trong VS 2010? Nếu không ... tôi có thể lấy nó từ đâu? – mattruma

+0

Có vẻ như nó có thể được tải xuống tại đây http://www.microsoft.com/downloads/en/details.aspx?FamilyID=4e094902-aeff-4ee2-a12d-5881d4b0dd3e&displaylang=en – mattruma

+1

Không, không phải, nó chỉ được xuất bản ít hơn 2 tháng trước (7/13/2010) và nó sẽ được chính thức phát hành như một phần của .Net 4.0 SP1 hoặc .Net 5.0. Bạn có thể tải xuống từ: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=4e094902-aeff-4ee2-a12d-5881d4b0dd3e&displaylang=vi –

Các vấn đề liên quan