migrations framework first existing example data code c# .net entity-framework-4 ef-code-first poco

c# - existing - Excluya un campo/propiedad de la base de datos con Entity Framework 4 y Code-First



entity framework code first winforms (4)

En la versión actual, la única forma de excluir una propiedad es mapear explícitamente todas las demás columnas:

builder.Entity<Employee>().MapSingleType(e => new { e.Id, e.Name, e.FatherName, e.IsMale, e.IsMarried });

Dado que no se hace referencia a AddressAs, no forma parte de la Entidad / Base de datos.

El equipo de EF está considerando agregar algo como esto:

builder.Entity<Employee>().Exclude(e => e.AddressAs);

Le sugiero que deje un comentario en el blog de EFDesign, solicitando esta función :)

Espero que esto ayude

Alex

Me gustaría saber si hay alguna forma de excluir algunos campos de la base de datos. Por ejemplo:

public class Employee { public int Id { get; set; } public string Name { get; set; } public string FatherName { get; set; } public bool IsMale { get; set; } public bool IsMarried { get; set; } public string AddressAs { get; set; } }

¿Cómo puedo excluir el campo AddressAs de la base de datos?



Sé que esta es una pregunta antigua, pero en caso de que alguien (como yo) llegue a ella desde la búsqueda ...

Ahora es posible en el marco de la entidad 4.3 para hacer esto. Lo harías así:

builder.Entity<Employee>().Ignore(e => e.AddressAs);


También es posible agregar la columna que desea ignorar como una Propiedad de sombra en el DbContext:

builder.Entity<Employee>().Property<string>("AddressAs");

Entonces puedes consultar en esa columna así:

context.Employees.Where(e => EF.Property<string>(e, "AddressAs") == someValue);