Tôi đang cố gắng thiết kế mô hình thực thể cho một ứng dụng sử dụng thành viên ASP.Net để xác thực người dùng của nó. Trong hầu hết các lược đồ cơ sở dữ liệu mà tôi tạo, các bản ghi thường kết thúc với người dùng thông qua trường UserId trên bảng aspnet_users. Điều đó đã làm việc tốt cho tôi trong quá khứ, nhưng bây giờ tôi đang sử dụng EF, tôi đang gặp một số vấn đề khái niệm với việc tìm ra cách tôi sẽ tham khảo người dùng từ một thực thể. Ví dụ:Bạn sẽ sử dụng Entity Framework (1.0) với ASP.Net Membership như thế nào?
Ví dụ: giả sử chúng tôi có một thực thể "đăng" chứa thuộc tính "postedBy". Tôi muốn có thể làm được tên người dùng của người dùng đã tạo bài đăng này bằng một cái gì đó như post.user.username, nhưng tôi cảnh giác với việc tạo một thực thể dựa trên bảng aspnet_user vì sợ tạo ra một mô hình mà chúng ta hãy tôi bỏ qua lớp thành viên khi thực hiện thay đổi đối với cơ sở dữ liệu.
Tôi đã xem xét việc rời khỏi trường post.userId dưới dạng guid và sau đó yêu cầu bất kỳ mã nào cần biết tên người dùng sử dụng guid đó để đưa người dùng từ lớp Tư cách thành viên, nhưng điều đó có vẻ "không rõ ràng".
Có ai có bất kỳ đề xuất nào về thiết kế mô hình tổ chức tích hợp với tư cách thành viên không? Tôi sẽ được hợp lý xảy ra với một thực thể người dùng "chỉ đọc".
Vì vậy, nếu bạn có cột tham chiếu "người dùng" (như đăng) trong bảng dữ liệu, bạn đề xuất rằng nó được ánh xạ tới bảng người dùng riêng biệt (vì không có liên kết giữa bảng nhà cung cấp và bảng ứng dụng)? Vì vậy, cơ sở dữ liệu của bạn chứa 2 bảng người dùng riêng biệt mà sau đó phải được đồng bộ hóa (tức là bằng trình kích hoạt)? Nếu không, bạn có thể giải thích cách bạn làm điều đó không? Tôi có cùng một vấn đề ở đây nhưng tôi không cần phải có khả năng thay đổi nhà cung cấp (nó sẽ không xảy ra ...). –
Chúng tôi không đồng bộ hóa chính xác. Chúng tôi có một bảng SystemUser mà không liên quan chặt chẽ đến aspNet_Users. Ví dụ: việc hủy đăng ký thành viên ASP.NET sẽ không xóa bản ghi SystemUser. Chúng tôi muốn giữ cho rằng xung quanh để các trường "CreatedBy" trên hồ sơ khác vẫn có thể chỉ vào một cái gì đó. Vì vậy, chúng tôi đã tùy chỉnh AccountController để cập nhật cả tư cách thành viên và bảng của chính chúng tôi khi người dùng được thêm hoặc xóa. –
Ok cảm ơn. Tôi quên mất nguy cơ mất tài liệu tham khảo. Việc triển khai của bạn dường như là một điều tốt với tôi. –