2011-06-22 33 views
5

Tôi chưa bao giờ sử dụng Khung thực thể trong dự án trước đây nên tôi không chắc chắn nên bắt đầu từ đâu. Tôi có tôi đang sử dụng các bảng thành viên được tạo ra khi sử dụng nhà cung cấp thành viên ASP.Net như là.Làm cách nào để tích hợp các bảng Membership với Entity Framework? Asp.net

Tôi muốn tạo đối tượng chứa tham chiếu đến người dùng. Ví dụ:

public int Id {get;set;} 
public User User{get;set} // Where User is some object relating to Membership provider User. 
public string Application {get; set;} 

Tôi đang sử dụng cách tiếp cận đầu tiên để sử dụng EF vì vậy tôi muốn tạo bảng dựa trên đối tượng này. Vì vậy, làm thế nào để cấu hình này để EF sẽ nhận ra rằng tôi đang tạo ra một mối quan hệ với một người dùng được quản lý bởi thành viên asp.net? Tôi nên sử dụng loại nào trong ví dụ trên thay cho 'Người dùng' (loại asp.net)

Xin lỗi nếu điều này là mơ hồ. Về cơ bản tôi chỉ cần một ví dụ hoặc giải thích về cách EF tích hợp với lược đồ nhà cung cấp thành viên Asp.net.

Cảm ơn!

Trả lời

6

Nếu bạn muốn có một mô hình EF liên kết bảng thành viên và bảng ứng dụng, bạn có thể thêm bảng thành viên ASP.NET vào cơ sở dữ liệu hiện có của mình bằng tiện ích aspnet_regsql.exe. Một số liên kết:

Một khi bạn có các bảng Membership cài đặt, bạn có thể tạo các lớp học EF Mã phù hợp với sơ đồ thành viên. Tôi đăng một hương chi tiết về làm thế nào để làm điều đó ở đây:

Generating EF Code First model classes from an existing database

+0

Đây là thông tin tôi đang tìm kiếm. Cảm ơn đã giúp đỡ! – Nick

2

tôi sẽ nói rằng bạn có thể tạo ra một "AppUser" (riêng đối tượng tùy chỉnh tài khoản của bạn) Entity nơi bảng tương ứng có một chìa khóa nước ngoài cho " UserID "cột của bảng aspnet_Membership. Bằng cách này, sẽ dễ dàng hơn nếu bạn cần thay đổi hoặc thêm thuộc tính vào thực thể "AppUser" thay vì cố gắng thay đổi cấu trúc bảng MS (có thể là một nỗi đau thực sự). Bạn vẫn có thể tương tác với các lớp và các hàm thành viên MS được xây dựng sẵn từ dự án MVC của bạn bằng cách sử dụng một cái gì đó giống như MCDMembership starter Kit DLL's.

https://github.com/TroyGoode/MembershipStarterKit

Hy vọng điều này sẽ hữu ích!

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