Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menambah Anotasi Data pada Kelas Dijana Rangka Kerja Entiti?

Bagaimanakah Saya Boleh Menambah Anotasi Data pada Kelas Dijana Rangka Kerja Entiti?

Susan Sarandon
Susan Sarandonasal
2025-01-05 12:06:40766semak imbas

How Can I Add Data Annotations to Entity Framework-Generated Classes?

Mencipta Anotasi Data untuk Kelas Dijana Rangka Kerja Entiti

Rangka Kerja Entiti sering menjana kelas tanpa sebarang anotasi data. Walaupun mudah, ini boleh menimbulkan cabaran apabila anda perlu menambah kekangan seperti medan yang diperlukan. Memandangkan kod yang dijana tidak boleh diubah suai secara langsung, anda mungkin tertanya-tanya cara menambahkan anotasi ini dengan selamat.

Penyelesaian: Menggunakan Kelas Separa

Kelas yang dijana Rangka Kerja Entiti sentiasa separa kelas, bermakna anda boleh membuat kelas separa kedua untuk menambah anotasi data. Dalam kes ini, anda akan mencipta kelas bernama ItemRequest yang mewarisi daripada kelas yang dijana. Dalam kelas separa baharu, anda boleh mentakrifkan anotasi data:

using System.ComponentModel;
using System.ComponentModel.DataAnnotations;

namespace MvcApplication1.Models
{
    [MetadataType(typeof(ItemRequestMetaData))]
    public partial class ItemRequest
    {
    }
}

Bersama-sama dengan kelas separa ini, anda juga akan membuat kelas metadata yang berkaitan:

namespace MvcApplication1.Models
{
    public class ItemRequestMetaData
    {
        [Required]
        public int RequestId { get; set; }
    }
}

Dengan ini, anda kini telah menambahkan anotasi data yang diperlukan dengan selamat pada kelas yang dijana Rangka Kerja Entiti anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menambah Anotasi Data pada Kelas Dijana Rangka Kerja Entiti?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn