Я использую Entity Framework CodeFirst с существующей базой данных. У меня есть хранимая процедура, которая возвращает данные из таблицы Customer_Info
с двумя столбцами Customer_ID, Customer_Name
. Я создал класс для этой сущности под названием Customer
с двумя свойствами CustomerID, CustomerName
. Теперь я пытаюсь получить данные через эту хранимую процедуру. У меня есть такое сопоставление, определенное в моем методе OnModelCreating
.
modelBuilder.Entity<Customer>().ToTable("Customer_Info");
modelBuilder.Entity<Customer>().
Property(x => x.CustomerID).HasColumnName("Customer_ID");
Вот как я пытаюсь получить данные из хранимой процедуры и загрузить данные в сущность.
public IList<Customer> GetCustomers()
{
return context.Database.SqlQuery<Customer>("exec GetCustomers @p0","NY")
.ToList();
}
Но это не сработало! Это выдает мне ошибку, говорящую так
Считыватель данных несовместим с указанным «Клиентом». Член типа «CustomerID» не имеет соответствующего столбца в средстве чтения данных с таким же именем.
Как это исправить ? Если я читаю напрямую из таблицы, мое сопоставление свойств работает.