首頁 >後端開發 >C++ >如何在實體框架產生的類別中保留資料註解?

如何在實體框架產生的類別中保留資料註解?

Patricia Arquette
Patricia Arquette原創
2025-01-01 12:18:11930瀏覽

How to Persist Data Annotations in Entity Framework Generated Classes?

在實體框架產生的程式碼中保留資料註解

問題:

如何向由Entity Framework 產生的類新增資料註解在程式碼之後持續存在的實體框架(EF)再生?

上下文:

考慮 EF 產生的類別:

public partial class ItemRequest
{
    public int RequestId { get; set; }
}

直接修改此程式碼以新增註解(例如,[必需])將被後續程式碼覆蓋

答案:

EF 將類別產生為部分類別。利用此功能,我們可以建立一個具有所需資料註解的單獨分部類別:

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

// Ensure the namespace matches the original class
namespace MvcApplication1.Models
{
    // Metadata class for data annotations
    [MetadataType(typeof(ItemRequestMetaData))]
    public partial class ItemRequest
    {
    }

    public class ItemRequestMetaData
    {
        [Required]
        public int RequestId { get; set; }
    }
}

MetadataType 屬性將 ItemRequestMetaData 類別連結到原始 ItemRequest 類別。這允許將 ItemRequestMetaData 中的資料註解套用至 ItemRequest,而無需修改產生的程式碼。

以上是如何在實體框架產生的類別中保留資料註解?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn