Tidak, itu tidak mungkin dan saya ragu itu berfungsi di SQL server. Relasi database mengharuskan salah satu ujungnya menjadi dependen. Ini berarti bahwa ia mereferensikan kunci utama (PK) dari ujung utama - kami menyebutnya kunci asing (FK). Jika kita berbicara tentang relasi satu-ke-satu, FK harus ditandai sebagai unik sehingga hanya satu record dalam tabel dependen yang dapat mereferensikan record tertentu dari tabel utama. Satu-satunya relasi yang valid dalam hal ini adalah 0..1 - 1 dimana prinsipal dapat eksis tanpa ketergantungan tetapi dependen hanya dapat ada jika terkait dengan prinsipal yang ada karena nilai FK-nya harus disetel ke nilai PK dari prinsipal. Secara teoritis FK dapat dibatalkan tetapi itu tergantung pada cara bagaimana database mengimplementasikan batasan unik. Jika database menghitung null sebagai nilai unik lainnya, hanya satu record dependen yang dapat membuat FK disetel ke null (saya pikir ini adalah kasus SQL server).
Di EF ini bahkan lebih rumit karena EF tidak mendukung batasan unik dan karena itu Anda dapat membangun hubungan satu-ke-satu hanya ketika FK di entitas dependen juga PK-nya (=tidak ada cara untuk mengaturnya ke nol). Jika Anda tidak dapat menyetel FK ke null, Anda tidak dapat membuatnya nullable dan karena entitas utama itu harus ada, jika tidak, integritas referensial akan menimbulkan kesalahan.
Solusi terbaik untuk Anda adalah mempertimbangkan Request
sebagai entitas utama dan Result
sebagai tergantung. Request harus dibuat terlebih dahulu dan harus disimpan di database selama Result
. Result
harus memiliki nilai PK yang sama (kolom tidak dapat bertambah secara otomatis) sebagai Request
yang sesuai (dan PK harus FK untuk Request
).