È possibile utilizzare l' NotMapped
annotazione dei dati degli attributi per indicare a Code-First di escludere una particolare proprietà
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]
l'attributo è incluso nello System.ComponentModel.DataAnnotations
spazio dei nomi.
In alternativa puoi farlo con la funzione di Fluent API
override OnModelCreating
nella tua DBContext
classe:
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
La versione che ho controllato è EF 4.3
, che è l'ultima versione stabile disponibile quando si utilizza NuGet.
Modifica : settembre 2017
Asp.NET Core (2.0)
Annotazione dei dati
Se si utilizza asp.net core ( 2.0 al momento della stesura di questo documento ), l' [NotMapped]
attributo può essere utilizzato a livello di proprietà.
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 fluente
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; }
}