Я работаю над приложением ASP.NET MVC 4 w/EF 4.Исключить столбец/свойство из DBContext
вот моя проблема: У меня есть объект w/byte [] свойства (3 из них) для хранения файлов (varbinary (MAX)). Однако всякий раз, когда я запрашиваю объект, если эти файлы «большие» (> 1 МБ), у меня есть проблемы с таймаутом. Я могу увеличить время ожидания контекста, но лучше найти лучшее решение.
Я попытался добавить атрибут [NotMapped] к свойствам, который работает так, что он не включает его в запрос, но затем я не могу обновить значение в БД.
public class Product
{
public int ProductID { get; set; }
[NotMapped] // <-- doesn't allow saving, but hides from the generated SQL
public byte[] File1 { get; set; }
public byte[] File2 { get; set; }
public byte[] File3 { get; set; }
Так что мой вопрос: Если возможно, то как я могу назвать
myContext.SaveChanges();
и есть на самом деле сохранить изменения, в то время как оригинальный
var product = context.Products.Single(p => p.ProductID == productID);
не выбирает varbinary fields?
вам нужно переместить их в другой объект. Вы можете создать класс \ table ProductFiles и сохранить здесь двоичные данные и ссылаться на него из Product –
@SergeyLitvinov, вы должны опубликовать это как ответ. – Stilgar
Посмотрите * Расщепление таблиц *. –