Saya telah mencari sumber daya tentang cara mendeklarasikan hubungan kunci asing dan kendala lainnya menggunakan kode EF 4.1 pertama tanpa banyak keberuntungan. Pada dasarnya saya membangun model data dalam kode dan menggunakan MVC3 untuk menanyakan model itu. Semuanya bekerja melalui MVC yang sangat bagus (pujian untuk Microsoft!) Tetapi sekarang saya ingin TIDAK berfungsi karena saya perlu memiliki batasan model data.
Misalnya, saya memiliki objek Order yang memiliki banyak properti yang merupakan objek eksternal (tabel). Saat ini saya dapat membuat Order tanpa masalah, tetapi tanpa dapat menambahkan kunci asing atau objek eksternal. MVC3 mengatur ini tidak masalah.
Saya menyadari bahwa saya hanya dapat menambahkan objek sendiri di kelas pengontrol sebelum menyimpan, tetapi saya ingin panggilan ke DbContext.SaveChanges () gagal jika hubungan batasan belum terpenuhi.
INFORMASI BARU
Jadi, secara khusus, saya ingin pengecualian terjadi ketika saya mencoba untuk menyimpan objek Order tanpa menentukan objek pelanggan. Ini tampaknya bukan perilaku jika saya hanya membuat objek seperti yang dijelaskan di sebagian besar dokumentasi EF Code First.
Kode terbaru:
public class Order
{
public int Id { get; set; }
[ForeignKey( "Parent" )]
public Patient Patient { get; set; }
[ForeignKey("CertificationPeriod")]
public CertificationPeriod CertificationPeriod { get; set; }
[ForeignKey("Agency")]
public Agency Agency { get; set; }
[ForeignKey("Diagnosis")]
public Diagnosis PrimaryDiagnosis { get; set; }
[ForeignKey("OrderApprovalStatus")]
public OrderApprovalStatus ApprovalStatus { get; set; }
[ForeignKey("User")]
public User User { get; set; }
[ForeignKey("User")]
public User Submitter { get; set; }
public DateTime ApprovalDate { get; set; }
public DateTime SubmittedDate { get; set; }
public Boolean IsDeprecated { get; set; }
}
Ini adalah kesalahan yang saya dapatkan sekarang saat mengakses tampilan VS yang dihasilkan untuk Pasien:
PESAN EROR
The ForeignKeyAttribute pada properti 'Patient' pada jenis 'PhysicianPortal.Models.Order' tidak valid. Nama kunci asing 'Parent' tidak ditemukan pada jenis dependen 'PhysicianPortal.Models.Order'. Nilai Nama harus berupa daftar nama properti kunci asing yang dipisahkan koma.
Salam,
Guido