首頁 > 後端開發 > C++ > 如何在 Entity Framework 4.1 及更高版本中忽略類別屬性?

如何在 Entity Framework 4.1 及更高版本中忽略類別屬性?

Patricia Arquette
發布: 2025-01-13 16:22:17
原創
411 人瀏覽過

How to Ignore Class Properties in Entity Framework 4.1 and Later?

在 Entity Framework 4.1 Code First 中忽略類別屬性

在了解 EF 5 中的 NotAvailableUntil 限制後,讓我們來探索在 EF 4.1 中忽略屬性的替代方法。

資料註解

使用 NotMapped 屬性註解可以將特定屬性排除在 Code-First 映射之外。例如:

<code>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>
登入後複製

Fluent API

或者,透過重寫 OnModelCreating 函數使用 Fluent API:

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

關於 [NotMapped] 差異的修正

[NotMapped] 屬性應該可以防止在資料庫中建立列。如果儘管使用了註解,但仍然建立了列,請驗證您是否使用了最新版本的 EF (4.3)。

Asp.NET Core 2.0 及更高版本

在 Asp.NET Core 2.0 中,您仍可使用 NotMapped 屬性註解:

<code>public class Customer
{
    public int Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    [NotMapped]
    public int FullName { get; set; }
}</code>
登入後複製

或在您的 SchoolContext 類別中使用 Fluent API:

<code>protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.Entity<Customer>().Ignore(t => t.FullName);
    base.OnModelCreating(modelBuilder);
}</code>
登入後複製

以上是如何在 Entity Framework 4.1 及更高版本中忽略類別屬性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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