kod EF pertama: Inisialisasi Harta Navigasi - untuk memulakan atau tidak?
Dalam Kod Rangka Kerja Entiti Pertama, satu persoalan biasa timbul mengenai permulaan sifat navigasi dalam kelas POCO (objek CLR lama) anda. Sekiranya anda memulakannya, atau meninggalkannya seperti itu? Mari kita meneroka kebaikan dan keburukan.
koleksi: soal gaya
Untuk sifat navigasi koleksi (seperti dalam kelas ICollection<Address>
), permulaan adalah sebahagian besar gaya pengekodan peribadi. Ia tidak semestinya memberi kesan kepada logik perniagaan aplikasi. Walau bagaimanapun, sesetengah pemaju lebih suka inisialisasi malas untuk mengelakkan potensi User
kesilapan dan penciptaan objek yang tidak perlu. NullReferenceException
sifat rujukan: Elakkan inisialisasi
Tidak seperti koleksi, memulakan sifat navigasi rujukan (mis., Dalam kelas License
) umumnya tidak digalakkan. Inilah sebabnya: User
Pertimbangan teras ef
Dalam teras EF, manakala pembaikan hubungan tidak terjejas secara langsung oleh sifat rujukan yang diinisialisasi dalam pembina, pemuatan malas masih tidak akan menimpa mereka. Selain itu, memulakan sifat -sifat ini boleh mengganggu kaedah dan menyebabkan masalah apabila data pembenihan menggunakan Include
. HasData
Cadangan:
Untuk mengelakkan komplikasi yang berpotensi, amalan terbaik untuktidak memulakan sifat navigasi rujukan dalam pembina anda. Inisialisasi koleksi tetap menjadi soal keutamaan peribadi.
Atas ialah kandungan terperinci Kod EF Pertama: Untuk memulakan atau tidak untuk memulakan sifat navigasi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!