在實體框架 (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中文網其他相關文章!