2015-01-29 21 views
5

Sử dụng Entity Framework 6 Mã Đầu tiên trong một dự án ASP.NET với Visual Studio 2013, có cách nào để xây dựng lại (hoặc cập nhật) các lớp DataContext và mô hình được tạo mà không cần bước qua Trình hướng dẫn mô hình dữ liệu thực thể mỗi lần?Tạo lại khung thực thể mã đầu tiên Mô hình đầu tiên

Tôi hoàn toàn nhận thức được cách làm điều này với một nhà thiết kế EDMX, nhưng một lần nữa, tôi đang sử dụng phương pháp "Mã đầu tiên từ cơ sở dữ liệu" và chỉ cần biết có cách nào chỉ bằng một cú nhấp chuột (hoặc một bảng điều khiển) để kích hoạt việc xây dựng lại mà không phải xóa lớp bối cảnh đã tạo ra và sau đó bước qua Trình hướng dẫn mô hình dữ liệu thực thể mỗi khi tôi thực hiện thay đổi đối với cơ sở dữ liệu sao lưu.

+1

Tại sao bạn sử dụng mã đầu tiên nếu bạn bắt đầu thay đổi cơ sở dữ liệu? –

+3

Đó là một quy trình làm việc chung, với thực tế là tùy chọn "Mã-Đầu tiên từ cơ sở dữ liệu" thậm chí còn tồn tại, và thực tế phiên bản tiếp theo của Entity Framework đang làm việc hoàn toàn với các tệp EDMX nên không có ý nghĩa gì với tôi có hiệu quả không được chấp nhận trong một dự án mới. –

+0

Với mã đầu tiên bạn thay đổi mô hình và sử dụng mã di chuyển để tạo (và thay đổi nếu cần) mã cập nhật cơ sở dữ liệu. Không phải hướng ngược lại. Đó là lý do tại sao nó được gọi là mã đầu tiên. Xem http://www.theregister.co.uk/2014/10/23/entity_framework_goes_codefirst_only_as_microsoft_shutters_yet_another_visual_modelling_tool/ –

Trả lời

0

Trong VS 2015 (và được cho là 2013/2012), bạn có thể sử dụng trình tạo đối tượng POCO của trình Entity Framework để thực hiện việc này.

https://visualstudiogallery.msdn.microsoft.com/ee4fcff9-0c4c-4179-afd9-7a2fb90f5838

Bạn có thể làm cho tất cả các thay đổi cơ sở dữ liệu đầu tiên, và để tái tạo mô hình của bạn tất cả các bạn phải làm là lưu tập tin Database.tt của bạn (thường tôi chỉ cần thêm khoảng trắng).

0

Mã đầu tiên yêu cầu bạn tạo DataContext bằng tay. Bạn không tạo/thay đổi cơ sở dữ liệu và làm mới lớp DataContext. Mã đầu tiên từ cơ sở dữ liệu hoặc mẫu đảo ngược EF POCO là một nền tảng trung gian giữa mã đầu tiên thực sự và cách tiếp cận cơ sở dữ liệu đầu tiên của việc làm. Nó gặp nhau ở giữa bằng cách tạo ra cùng một loại lớp POCO mà bạn đã viết bằng tay trong Code First. Họ không làm điều đó trong Code First cách nhưng kết quả cuối cùng là một cái gì đó tương tự như Code First. Do đó tên khó hiểu.

Nếu bạn đang sử dụng một trong các mẫu này để tạo POCO, bạn có thể nhấp chuột phải vào tệp mẫu t4 và nhấp vào Chạy công cụ tùy chỉnh. Nếu điều đó không làm việc, bạn có thể muốn xóa thực thể đó và sau đó chạy lại công cụ tùy chỉnh. Ngoài ra, kích chuột phải vào EDMX và nhấp vào 'Cập nhật Mô hình từ Cơ sở dữ liệu' sẽ hoạt động.

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