Другой вариант - создать тип CustomerInfo:
public class CustomerInfo
{
public int Id { get; set;}
public string Name { get; set; }
}
Вы не можете отобразить два типа непосредственно в одну и ту же таблицу в EF, но вы можете легко создать представление для своего типа информации, а затем отобразить его на:
CREATE VIEW vwCustomerInfo AS SELECT Id, Name FROM Customer
Затем вы сопоставляете свой тип CustomerInfo со своим видом:
public class CustomerInfoMap : EntityConfiguration<CustomerInfo>
{
public CustomerInfoMap()
{
.ToTable("vwCustomerInfo");
}
}
Побочным эффектом этого является то, что EF будет извлекать только столбцы в представлении при запросе вашей базы данных. При получении CustomerInfo по идентификатору вы получите SQL, подобный этому:
SELECT Id, Имя ОТ vwCustomers, ГДЕ id = 1
Кроме того, если ваше представление обновляется, вы можете обновлять тип CustomerInfo из EF, и базовая таблица будет обновляться.