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
名前空間に含まれています。
あるいは、クラスの関数を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年9月
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; }
}
Fluent 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; }
}