2014-07-09 2 views
0

Удаления файла в LINQ с потоковым видео довольно просто: возникаетУдалить большой файл с FileStream LINQ

Table<File> f = dac.GetTable<File>(); 
var itemToDelete = f.Single(x => x.fileId == fileId); 
f.DeleteOnSubmit(itemToDelete); 
dataContext.SubmitChanges(); 

Проблемы, когда файл становится достаточно большим.

Сведения об исключении: System.ComponentModel.Win32Exception: Операция ожидания истекло

Мое текущее решение является обходной путь:

dataContext.CommandTimeout = 1000; 

Но я, честно говоря, не нравится это решение , Мне не нужно получать контент, который является причиной того, что тайм-аут происходит в первую очередь.

Есть ли хорошее и чистое решение этой проблемы?

ответ

0

Я бы просто запустить SQL strainght против контекста, что-то вроде

dataContext.ExecuteStoreCommand('SQL TO DELETE BLOB') 
+0

Как я сказал Selman22, мне было интересно, если для этого есть решение LINQ. – Vulcano

1

это Blog обеспечить хорошее решение, даже используя SQLQuery

// Create an entity to represent the Entity you wish to delete 
// Notice you don't need to know all the properties, in this 
// case just the ID will do. 
Category stub = new Category { ID = 4 }; 
// Now attach the category stub object to the "Categories" set. 
// This puts the Entity into the context in the unchanged state, 
// This is same state it would have had if you made the query 
ctx.AttachTo("Categories", stub); 
// Do the delete the category 
ctx.DeleteObject(stub); 
// Apply the delete to the database 
ctx.SaveChanges(); 
+0

Интересная идея, у меня есть Datacontext, хотя при использовании этого DataContext и прикрепления dummyfile f: dac.GetTable () .Attach (f); table.DeleteOnSubmit (е); dac.SubmitChanges(); Снова происходит Тайм-аут. Поэтому кажется, что привязка делает запрос к БД. – Vulcano

+0

Не прикрепляйте файл, просто создайте объект с идентификатором файла –

+0

Вы не можете удалить отдельные объекты. Здесь исключение: System.InvalidOperationException: не удается удалить объект, который не был присоединен. – Vulcano

Смежные вопросы