22

Tôi đang cố gắng sử dụng tính năng CodeFirst ADO.Net của Entity Framework 4.0 mới nhất. Là một phần của tôi đã cài đặt Entity Framework CTP 4 từ Microsft và sử dụng Scott's tutorial để tạo mô hình trước tiên. Bên trong hướng dẫn DBContextDBSet<> được chỉ định. Có thể một số cho biết tham chiếu được sử dụng để truy cập vào lớp này là gì.Tài liệu tham khảo cho DBContext, DBSet <> trong Entity Framework

Tôi đã sử dụng các tài liệu tham khảo sau đây tuy nhiên không có gì xảy ra cho DBContextDBSet<>

  • System.Data.Entity
  • System.Data.Entity.Design

Trả lời

14

Sử dụng CTP5 thay vào đó là phiên bản mới hơn với một số thay đổi trong API. Bạn phải thêm tham chiếu đến EntityFramework.dll được cài đặt trong thư mục CTP - mặc định là: c: \ Program Files \ Microsoft ADO.NET Entity Framework Tính năng CTP5 \ Binaries \ EntityFramework.dll cho hệ thống 32 bit. Trên hệ thống 64bit, nó sẽ được đặt trong Program Files (x86).

+0

Bạn có thể cho biết nó sẽ hỗ trợ cho phiên bản 64 bit .Net không? – Elangesh

+0

Nó đã hỗ trợ phiên bản 64bit. –

+2

Không còn nữa. Bây giờ bạn chỉ cần sử dụng nuget Install-Module entityframework –

1

Các bài đăng trên blog đề cập đến hội đồng:

The DbContext and DbSet classes used above are provided as part of the EF4 Code-First library. You’ll need to add a reference to the System.Data.Entity.CTP assembly that is installed into the \Program Files\Microsoft ADO.NET Entity Framework Feature CTP4\Binaries directory to reference these classes. You’ll also want to add a “using System.Data.Entity” namespace statement at the top of your “NerdDinners” class file.

Tuy nhiên tôi tin rằng CTP5 mới bao gồm một số thay đổi để codefirst, vì vậy tôi sẽ đề nghị để có một cái nhìn vào một thay thế.

+0

Bạn có thể cho biết sẽ hỗ trợ phiên bản 64 bit .Net không? – Elangesh

+0

Tôi không chắc chắn nếu có 64bit hội đồng trong CTP. Nếu không, dự án của bạn sẽ cần phải nhắm mục tiêu x86. –

+0

@Elan: Nó được xây dựng cho bất kỳ CPU nào, vì vậy bạn tốt :-) –

4

Sử dụng "DbContext" vs "DBContext" và "DbSet" vs "DBSet". Trường hợp nhạy cảm là vấn đề.

+1

Thomas, tôi vừa chỉ định mã, không sao chép và dán mã này. Tôi đã sử dụng đúng trường hợp trong mã của mình vì nó đã được sao chép từ hướng dẫn ban đầu. Tuy nhiên, cảm ơn vì đã cho tôi biết rằng các từ khóa không đúng. Chúc mừng. – Elangesh

+0

thats it ... Tôi đã làm sai. –

26

Bạn có thể sử dụng Trình quản lý gói thư viện nếu có (nó sẽ tự động cài đặt với MVC 3.0).

Từ bên trong dự án của bạn trong Visual Studio 2010, đi đến

Tools > Library Package Manager > Package Manager Console 

Từ bên trong dự án của bạn trong Visual Studio 2013, đi đến

Tools > NuGet Package Manager > Package Manager Console 

Trong giao diện điều khiển, sau khi PM> dấu nhắc, gõ

install-package entityframework 

Điều này sẽ cài đặt gói và thêm EntityFr tài liệu tham khảo amework cho dự án của bạn.

+0

Cài đặt gói: Không thể tìm thấy gói 'entityframework't line: 1 char: 1 ... bất kỳ ý tưởng nào tại sao? – brntsllvn

+0

Nhìn vào trình quản lý gói NuGet-Solution, tôi có thể thấy tôi đã cài đặt EntityFramework (v6.0.2) ... nhưng DbContext vẫn không thể tìm thấy. Bất kỳ sự trợ giúp nào đều sẽ là tuyệt vời. – brntsllvn

0

nếu bạn đang sử dụng .NET 3.5 sau đó thay đổi khuôn khổ mục tiêu của bạn để NET 4.0

+0

Cảm ơn thực sự @Arek Bee, tôi đã sử dụng .Net 4.0 tuy nhiên một số cách tham khảo là không có cho thực thể do một số lý do. Sau đó sau khi cài đặt tất cả mọi thứ CTP5 là tốt – Elangesh

2

Để thêm EF để dự án của bạn sử dụng Package Manager Console và thực hiện lệnh:

Install-Package EntityFramework 

Bạn shouldn' t liên kết trực tiếp đến vị trí đã cài đặt của DLL như được đề cập trong câu trả lời khác.

+1

Làm việc như quyến rũ, Cảm ơn – Sandy

1

Tôi đã làm theo Hướng dẫn MvcMusicStore (sử dụng Mvc 4 thay vì Mvc 3).

Tôi tìm thấy trong Phần 4 Tôi gặp sự cố với điều này (http://www.asp.net/mvc/tutorials/mvc-music-store/mvc-music-store-part-4).

Khi tôi thêm tài liệu tham khảo sau bằng System.Data.Thực thể;, tôi đã nhận lỗi sau:

loại hoặc namespace tên 'thực thể' không tồn tại trong không gian tên 'system.data'

@ giải pháp Fecklmore của làm việc cho tôi.

Mở Bảng điều khiển trình quản lý gói bằng cách đi tới Công cụ> Trình quản lý gói thư viện> Bảng điều khiển trình quản lý gói.

Sau đó gõ vào như sau: Install-Package EntityFramework

này sẽ cài đặt EntityFramework (ví dụ: EF) vào dự án của bạn, và sẽ loại bỏ các lỗi trên.

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