Không, nó không thể thực hiện được và tôi nghi ngờ nó hoạt động trong máy chủ SQL. Mối quan hệ cơ sở dữ liệu yêu cầu rằng một đầu trở nên phụ thuộc. Nó có nghĩa là nó tham chiếu đến khóa chính (PK) của một đầu chính - chúng tôi gọi đây là khóa ngoại (FK). Nếu chúng ta nói về quan hệ một-một, FK phải được đánh dấu là duy nhất để chỉ một bản ghi trong bảng phụ thuộc có thể tham chiếu đến một bản ghi đã cho từ bảng chính. Mối quan hệ hợp lệ duy nhất trong trường hợp này là 0..1 - 1 trong đó mối quan hệ chính có thể tồn tại mà không phụ thuộc nhưng mối quan hệ phụ thuộc chỉ có thể tồn tại khi liên quan đến mối quan hệ chính hiện có vì giá trị FK của nó phải được đặt thành giá trị PK của mối quan hệ chính. Về mặt lý thuyết, FK có thể là nullable nhưng nó phụ thuộc vào cách cơ sở dữ liệu thực hiện các ràng buộc duy nhất. Nếu cơ sở dữ liệu tính null là một giá trị duy nhất khác thì chỉ một bản ghi phụ thuộc có thể đặt FK thành null (tôi nghĩ đây là trường hợp của máy chủ SQL).
Trong EF, điều này thậm chí còn phức tạp hơn vì EF không hỗ trợ các ràng buộc duy nhất và do đó bạn có thể xây dựng quan hệ 1-1 chỉ khi FK trong thực thể phụ thuộc cũng là PK của nó (=không có cách nào để đặt nó thành null). Nếu bạn không thể đặt FK thành null, bạn không thể đặt nó là null và vì thực thể chính đó phải tồn tại nếu không, tính toàn vẹn tham chiếu sẽ gây ra lỗi.
Giải pháp tốt nhất cho bạn là xem xét Request
là thực thể chính và Result
như phụ thuộc. Yêu cầu phải được tạo trước và nó phải được lưu trong cơ sở dữ liệu miễn là Result
. Result
phải có cùng giá trị PK (cột không được tự động tăng dần) như Request
tương ứng (và PK phải là FK để Request
).