Entity Framework(EF) 4.1 Code First에서는 [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>
위 내용은 먼저 Entity Framework 코드에서 속성을 무시하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!