Как безошибочно вызвать хранимую процедуру в ADO.NET Entity Framework? - PullRequest
1 голос
/ 13 июня 2009

Как безошибочно вызвать хранимую процедуру в ADO.NET Entity Framework? Если я использую код ниже, я получаю сообщение об ошибке:

adminNameContext.AddItemCategory(12, "ggf", DateTime.Now);  

Ошибка:

Считыватель данных несовместим с указанным «NetTanitimTestModel.Categories». Элемент типа «ID» не имеет соответствующего столбца в считывателе данных с тем же именем.

ALTER procedure [dbo].[sp_AddItemCategory]  
(  
  @item int,   
  @category nvarchar(50),  
  @date smalldatetime   
)  
as  
begin  
  if(@item=-1)  
  begin  
    insert into Categories(PARENTID,Category,Date) values(null,@category,@date)  
  end  
  else  
  begin  
    insert into Categories(PARENTID,Category,Date) values(@item,@category,@date)  
  end  
end

У меня есть таблица категорий, которая имеет 3 столбца: PARENTID, Category, Date

Ответы [ 2 ]

0 голосов
/ 13 июня 2009

Похоже, что ваша модель данных EF и ваша база данных больше не синхронизированы. Кажется, что ваш объект «Категории» в модели данных EF имеет поле «ID», а таблица - нет.

Я бы обновил модель данных EF из базы данных и посмотрел, решит ли это проблему. Для этого откройте дизайнер EDMX, щелкните правой кнопкой мыши пустое место в области конструктора и выберите параметр «Обновить модель из базы данных». Это должно привести оба мира в порядок.

Марк

0 голосов
/ 13 июня 2009

Митч Пшеничный дал вам ответ. Вы пытаетесь использовать столбец ID, но в таблице есть столбец PARENTID.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...