Я получаю сообщение об ошибке «401 - не авторизован», когда я пытаюсь удалить одну запись из таблицы базы данных с помощью Entity Framework.
Таблица базы данных определенно имеет правильные разрешения, а для файла .svc для структуры сущностей задано:
config.SetEntitySetAccessRule("*", EntitySetRights.All);
Код, который я использую для удаления в моем приложении, очень прост:
MyObject myObj = this.MyObjects.SingleOrDefault(t => t.RecordID == recordID);
svc.DeleteObject(myObj);
svc.SaveChanges();
«MyObject» относится к элементу из EntityObject, который я извлек в списки.
Код кажется правильным, так как он распознает объект, который нужно удалить. Следующая запись в журнале показывает, что происходит в службе:
2012-02-27 11:06:02 192.XXX.X.XXX УДАЛИТЬ
/MyService.svc/MyObjects(19) - 8010 - 192.XXX.X.X> Microsoft + ADO.NET + Data + Services 401 0 0 1
Может кто-нибудь пролить свет на то, почему это может происходить?
РЕДАКТИРОВАТЬ: выборка данных и добавление новых строк в ту же таблицу в настоящее время работает без проблем.