首頁 > 後端開發 > C++ > 如何先忽略實體框架程式碼中的屬性?

如何先忽略實體框架程式碼中的屬性?

Susan Sarandon
發布: 2025-01-13 16:18:42
原創
840 人瀏覽過

How to Ignore Properties in Entity Framework Code First?

實體框架 4.1 程式碼優先中的屬性忽略

在實體框架 (EF) 4.1 程式碼優先中,可以使用 [NotMapped] 屬性資料註解將某些屬性從資料庫對應中排除。此註解應用於實體類別中的對應屬性。

<code class="language-csharp">public class Customer
{
    public int CustomerID { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    [NotMapped]
    public int Age { get; set; }
}</code>
登入後複製

[NotMapped] 屬性是 System.ComponentModel.DataAnnotations 命名空間的一部份。

此外,您可以使用 Fluent API 覆寫 DbContext 類別中的 OnModelCreating 函數。

<code class="language-csharp">protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
   modelBuilder.Entity<Customer>().Ignore(t => t.LastName);
   base.OnModelCreating(modelBuilder);
}</code>
登入後複製

請注意,原始問題中建議的 EF 版本已過時。截至 NuGet 的最新穩定版本是 EF 4.3。

更新 (2017 年 9 月): Asp.NET Core (2.0)

對於 Asp.NET Core 2.0 及更高版本,您可以使用前面提到的 [NotMapped] 屬性。此外,Fluent API 的使用方法如下:

<code class="language-csharp">public class SchoolContext : DbContext
{
    public SchoolContext(DbContextOptions<SchoolContext> options) : base(options)
    {
    }
    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Customer>().Ignore(t => t.FullName);
        base.OnModelCreating(modelBuilder);
    }
    public DbSet<Customer> Customers { get; set; }
}</code>
登入後複製

以上是如何先忽略實體框架程式碼中的屬性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板