Исключить поле/свойство из базы данных с Entity Framework 4 и Code-First
Мне хотелось бы знать, что есть способ исключить некоторые поля из базы данных? Например,
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; }
}
Как я могу исключить поле AddressAs из базы данных?
Ответы
Ответ 1
В текущей версии единственным способом исключить свойство является явное отображение всех остальных столбцов:
builder.Entity<Employee>().MapSingleType(e => new {
e.Id,
e.Name,
e.FatherName,
e.IsMale,
e.IsMarried
});
Поскольку AddressAs не ссылается, он не является частью Entity/Database.
Команда EF рассматривает возможность добавления чего-то вроде этого:
builder.Entity<Employee>().Exclude(e => e.AddressAs);
Я предлагаю вам оставить комментарий в блоге EFDesign, запросив эту функцию:)
Надеюсь, что это поможет
Алекс
Ответ 2
для справок в будущем: вы можете использовать аннотации данных
MSDN EF - первые аннотации данных кода
[NotMapped]
public string AddressAs { get; set; }
Ответ 3
Я знаю, что это старый вопрос, но если кто-то (например, я) приходит к нему из поиска...
Теперь в инфраструктуре сущности 4.3 это можно сделать. Вы сделали бы это так:
builder.Entity<Employee>().Ignore(e => e.AddressAs);