powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как и куда можно прочитать varbinary(max) средствами Linq в код C#?
6 сообщений из 6, страница 1 из 1
Как и куда можно прочитать varbinary(max) средствами Linq в код C#?
    #39017843
ValGer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Читаю книжку Фримена Введение в ASP.NET MVC 4 ( http://smarly.net/pro-asp-net-mvc-4/introducing-asp-net-mvc-4 ) и там описывается работа с изображениями. В примере используется Entity Framework
Изображение в книжке описывается как:
Код C# (класс товаров)
.....................................................................
public byte[] ImageData { get; set; }

[HiddenInput(DisplayValue = false)]
public string ImageMimeType { get; set; }
..................................................................

Поля в базе:
ImageData varbinary(max)
ImageMieType varchar(50)

И всё в примере получается замечательно

Я же использовал Linq to SQL и до этого момента всё получалось так же хорошо. Но на этом примере я встал в тупик. Не пойму как прочитать поле varbinary(max) из базы.
Стандартный код чтения из базы не работает и более того выдаёт синтаксическую ошибку.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
    
public class ProductRepository : IProductRepository
    {
        private DBProductDataContext db = new DBProductDataContext();
        public IQueryable<Product> Products
        {
            get
            {
                IQueryable<Product> qProduct = from prods in db.Products
                                               select new Product
                                               {
                                                   ProductID = prods.ProductID,
                                                   Name = prods.Name,
                                                   Description = prods.Description,
                                                   Price = prods.Price,
                                                   Category = prods.Category,
                                                   [SIZE=4]ImageData = prods.ImageData[/SIZE],
                                                   ImageMimeType = prods.ImageMimeType
                                               };
                return qProduct;
            }
        }



Как поступать-то?
...
Рейтинг: 0 / 0
Как и куда можно прочитать varbinary(max) средствами Linq в код C#?
    #39017848
Фотография Maxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValGer,

навреное спросит в форуме по C# ?

Модератор: Тема перенесена из форума "Microsoft SQL Server".
...
Рейтинг: 0 / 0
Как и куда можно прочитать varbinary(max) средствами Linq в код C#?
    #39017881
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValGerСтандартный код чтения из базы не работает и более того выдаёт синтаксическую ошибку.
Ошибку приведешь или предлагаешь нам угадать её?
...
Рейтинг: 0 / 0
Как и куда можно прочитать varbinary(max) средствами Linq в код C#?
    #39017935
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
ImageData = prods.ImageData.ToArray()


Если тип Product.ImageData byte[], разумеется.
...
Рейтинг: 0 / 0
Как и куда можно прочитать varbinary(max) средствами Linq в код C#?
    #39019302
ValGer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Axeleron
Код: c#
1.
ImageData = prods.ImageData.ToArray()


Если тип Product.ImageData byte[], разумеется.

Спасибо за обсуждение!
Я именно так и поступал, однако не учёл, что в некоторых случаях картинка может отсутствовать (null в этом поле) - поэтому и выходила ерунда. Когда вставил обработку этой ситуации, то всё пошло нормально.
................................................................
ImageData = prods.ImageData != null ? prods.ImageData.ToArray() : null,
ImageMimeType = prods.ImageMimeType
................................................................
...
Рейтинг: 0 / 0
Как и куда можно прочитать varbinary(max) средствами Linq в код C#?
    #39019412
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValGerоднако не учёл, что в некоторых случаях картинка может отсутствовать (null в этом поле) - поэтому и выходила ерунда.
Бывает :)
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как и куда можно прочитать varbinary(max) средствами Linq в код C#?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]