Связанный с LLBLGEN массив не заполняется в сущности - PullRequest
0 голосов
/ 18 ноября 2010

Я борюсь с LLBLGEN, и я думаю, что ORM в целом. я создал сущность, давайте рассмотрим пример библиотеки, чтобы объяснить:

Я хочу отобразить объект книги, а также вернуть список пользователей, которые одолжили книгу. поэтому мне нужно вернуть объект книги, который содержит список пользователей.

DTO Book::
int bookId,
string bookName

дополнительно я хочу вернуть с моей книгой коллекцию пользователей, которые одолжили книгу:

List<user> Loans
Таблица

займов может выглядеть так:

int id
int userid
int bookid

В настоящее время моя кредитная организация создала это:

DTO Loans
int id
User user // user entity
Book book // book entity

Я изо всех сил пытаюсь понять, как этот пример будет работать в llblgen. Может ли кто-нибудь помочь с руководством или указать мне на пути учебника? в тот момент, когда я обновляю свою модель Book новым кредитом, связанным с книгой, я получаю ошибки stackoverflow. я предполагаю, что это создает какой-то цикл при попытке обновить мой объект Book.

спасибо

Ответы [ 2 ]

1 голос
/ 22 ноября 2010

Я заметил, что при запуске профилировщика на SQL оператор SQL не включал никаких операторов соединения в мои сущности отношений. это было потому, что мой запрос к домену не включал элементы предварительной выборки для моих отношений, я добавил в свой запрос следующее:

        var query = new DomainSearch<T>
                   {    
                       SearchText = searchText,
                       PrefetchItems =
                           {
                               new Prefetch(typeof(Users))
                           }
                   };
0 голосов
/ 19 ноября 2010

Чтобы убедиться, что вы ищете список сущностей пользователей, которые одолжили конкретную сущность книги.Это правильный вариант использования, или вы ищете список сущностей пользователей, которые позаимствовали конкретную книгу?

В любом случае, поддержка LLBLGen в этих случаях великолепна, поскольку позволяет быстро ссылаться на отношения между сущностями и использовать связанные сущности.легко.

Предполагается, что вы ищете книгу по уникальному BookId / ISBN / etc ....

// Get the specific book entity
BookEntity book = new BookEntity(bookId);

foreach(UserEntity user in book.users)
{
    // do stuff with list of users
}

Все просто, если вы определили свои отношения между сущностями.

...