คุณสามารถใช้NotMapped
บันทึกย่อข้อมูลคุณลักษณะเพื่อสั่งให้ Code-First เพื่อแยกคุณสมบัติเฉพาะ
public class Customer
{
public int CustomerID { set; get; }
public string FirstName { set; get; }
public string LastName{ set; get; }
[NotMapped]
public int Age { set; get; }
}
[NotMapped]
แอตทริบิวต์รวมอยู่ในSystem.ComponentModel.DataAnnotations
namespace
คุณสามารถทำสิ่งนี้ได้ด้วยฟังก์ชั่นการFluent API
เอาชนะOnModelCreating
ในDBContext
ชั้นเรียนของคุณ:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Customer>().Ignore(t => t.LastName);
base.OnModelCreating(modelBuilder);
}
http://msdn.microsoft.com/en-us/library/hh295847(v=vs.103).aspx
เวอร์ชันที่ฉันตรวจสอบคือ EF 4.3
เวอร์ชันเสถียรล่าสุดที่มีให้เมื่อคุณใช้ NuGet
แก้ไข : กันยายน 2017
Asp.NET Core (2.0)
คำอธิบายประกอบข้อมูล
หากคุณใช้แกน asp.net ( 2.0 ณ เวลาที่เขียนนี้ ) แอ [NotMapped]
ททริบิวสามารถใช้กับระดับคุณสมบัติได้
public class Customer
{
public int Id { set; get; }
public string FirstName { set; get; }
public string LastName { set; get; }
[NotMapped]
public int FullName { set; get; }
}
API ที่คล่องแคล่ว
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; }
}