powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / NHibernate: Как предотвратить загрузку BLOB-поля?
8 сообщений из 8, страница 1 из 1
NHibernate: Как предотвратить загрузку BLOB-поля?
    #35746993
SergASh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем.

Есть таблица
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
CREATE TABLE [dbo].[tblListingImage]
(
  ListingImageId TYP_ID IDENTITY
 ,Image IMAGE NOT NULL
 ,Caption VARCHAR( 100 ) NOT NULL
 ,ImageWidth INT NOT NULL
 ,ImageHeight INT NOT NULL
 ,CONSTRAINT PK_ListingImage
    PRIMARY KEY ( ListingImageId )
)
и класс, прямолинейно отображённый на нее. Проблема в том, что поле картинки во многих случаях не нужно, а требуются только размеры и подпись. Но NHibernate всегда загружает данные полностью. Можно ли как-то NHibernate'у сказать, что в некоторых случаях такое-то поле загружать не надо?

Спасибо.
...
Рейтинг: 0 / 0
NHibernate: Как предотвратить загрузку BLOB-поля?
    #35750406
Фотография Нахлобуч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделай два класса и напяль на одну таблицу. По желанию одному из них можно сделать mutable="false". Или копай в сторону "select new" из HQL.

Кстати, посмотри в NH 2.0 -- там, возожно, есть ленивая загрузка отдельных свойств.
...
Рейтинг: 0 / 0
NHibernate: Как предотвратить загрузку BLOB-поля?
    #35752129
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Но NHibernate всегда загружает данные полностью. Можно ли как-то NHibernate'у сказать, что в некоторых случаях такое-то поле загружать не надо?

Организовать ленивую загрузку Lazy Load, подробности:
http://blogs.hibernatingrhinos.com/nhibernate/archive/2008/11/17/lazy-loading-blobs-and-the-like-in-nhibernate.aspx
...
Рейтинг: 0 / 0
NHibernate: Как предотвратить загрузку BLOB-поля?
    #36239277
grower_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как предотвратить загрузку BLOB-поля в Entity Framework ? Какие есть предусмотренные для этого средства, куда копать ...
...
Рейтинг: 0 / 0
NHibernate: Как предотвратить загрузку BLOB-поля?
    #36241998
Фотография bured
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grower_Как предотвратить загрузку BLOB-поля в Entity Framework ? Какие есть предусмотренные для этого средства, куда копать ...
Таблицу можно отразить как 2-е сущности: главная и дочерняя (содержащая BLOB).
Select к Главной без Include или Load не будет загружать это самое BLOB-поле.
...
Рейтинг: 0 / 0
NHibernate: Как предотвратить загрузку BLOB-поля?
    #36242120
Dmitry Sukhovilin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хороший вопрос, подскажите как сделать маппинг для таких классов:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
class ListingInfo {
    public int ListingImageId {get;set;}
    public string Caption {get;set;}
}

class Listing : ListingInfo{
    /* тут все остальные пропертис*/
}


т.е. получать отдельно info (id, caption - для вывода, скажем, в dropdownlist) и отдельно все записи.

Спасибо.
...
Рейтинг: 0 / 0
NHibernate: Как предотвратить загрузку BLOB-поля?
    #36242194
grower_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашёл "Mapping multiple entity types to the same table."
http://blogs.msdn.com/adonet/archive/2008/12/05/table-splitting-mapping-multiple-entity-types-to-the-same-table.aspx
...
Рейтинг: 0 / 0
NHibernate: Как предотвратить загрузку BLOB-поля?
    #36242206
grower_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таблицу можно отразить как 2-е сущности: главная и дочерняя (содержащая BLOB).
Select к Главной без Include или Load не будет загружать это самое BLOB-поле.[/quot]

Их нада связать один к одному, и прописать в CSDL Association
Код: plaintext
1.
2.
3.
  <ReferentialConstraint>
    <Principal Role="Product"><PropertyRef Name="id"/></Principal>
    <Dependent Role="ProductImages"><PropertyRef Name="id"/></Dependent>
  </ReferentialConstraint>
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / NHibernate: Как предотвратить загрузку BLOB-поля?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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