Karena ini adalah cetak ulang dari artikel Sumber yang ditunjukkan di sini, mohon maaf jika ada artikel yang telah ditransfer sebelumnya tanpa indikasi, karena beberapa di antaranya tidak dapat lagi menemukan sumbernya, atau karena alasan lain.
Jika Anda tersinggung, silakan hubungi saya, atau hapus, atau tunjukkan sumbernya.
Karena dulu saya hanya ingin mengumpulkan artikel yang bagus, tetapi terkadang koneksi akan gagal, jadi sekarang saya langsung ke diri saya sendiri ketika saya menemukan yang bagus.
Sumber asli http://blog.csdn.net/snowinfish/article/details/11567301
Saat menulis data ke model entitas ADO.NET di VS2012, data terus mengatakan "DbEntityValidationException tidak ditangani" dan "Validasi satu atau beberapa entitas gagal. Untuk informasi selengkapnya, lihat Properti EntityValidationErrors.
Menguji dua entitas berikutnya sendiri, terutama kesalahan yang disebabkan oleh "operate911".
Saya memeriksa informasi secara online dan merujuk ke artikel berikut.
Solusi untuk cara melihat detail EntityValidationErrors
http://www.cnblogs.com/zhourq/archive/2011/11/03/2234720.html
Namun, saat menulis pengecualian, sistem tidak memiliki "DbEntityValidationException", yang diperkirakan kurangnya referensi namespace.
Jadi ditambahkan:
[csharp] Lihat salinan biasa menggunakan System.Data.Validation;
Prosedur yang sesuai dimodifikasi menjadi: [csharp] Lihat salinan biasa Coba { entitas. Operasikan911.Tambahkan (mengoperasikan911); entitas. SimpanPerubahan (); } catch (DbEntityValidationException dbEx) {
} Mulai, tanpa pengecualian prompt, "operate911" tidak menulis data ke tabel database. Alasan pengecekan adalah ketika menulis program tambahan, tidak ada pengisian data untuk kolom yang tidak boleh kosong, dan setelah modifikasi, program dimulai dan pengujian berhasil.
Namun, jika Anda tidak menulis pengecualian, lanjutkan untuk meminta kesalahan teratas.
Selain itu, parameter "dbEx" setelah kalimat "catch (DbEntityValidationException dbEx)" dapat ditulis tanpa menulis.
Terus tidak dikenal...
09.12 Tambahan:
Coba dan tangkap di atas ditulis dengan tidak benar, dan pengecualian tidak dilemparkan, tetapi diubah menjadi:
[csharp] Lihat salinan biasa Coba { var operateSpt = baru OperateSpt(ymd, timeNow, Operate); entitas. OperasiSpts.Tambahkan (operasiSpt); entitas. SimpanPerubahan (); }
catch (DbEntityValidationException mis) { MessageBox.Show (mis. pesan); }
Hasilnya ditunjukkan pada gambar di bawah ini.
Terus tidak dikenal...
Suplemen: Pemecahan masalah.
Alasan: Data tertulis tidak konsisten dengan pengaturan tabel.
Alasan saya adalah bahwa pada langkah tertentu, data tertulis kosong, tetapi tabel asli diatur ke "tidak diizinkan kosong", jadi akan ada pengecualian ketika langkah ini dilakukan.
Saya terlalu ceroboh dan tidak pernah memikirkan masalah ini ketika saya melihat operasi lain yang ditulis ke data ketika saya melihat data.
|