在 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中文網其他相關文章!