Подтвердить что ты не робот

Исключить поле/свойство из базы данных с 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 из базы данных?

4b9b3361

Ответ 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, запросив эту функцию:)

Надеюсь, что это поможет

Алекс

Ответ 3

Я знаю, что это старый вопрос, но если кто-то (например, я) приходит к нему из поиска...

Теперь в инфраструктуре сущности 4.3 это можно сделать. Вы сделали бы это так:

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