0

我正在为 LLBLGEN 苦苦挣扎,我猜总体上是 ORM。我创建了一个实体,让我们使用一个库示例来解释:

我想显示一个图书对象,并返回一个借出这本书的用户列表。所以我需要返回包含用户列表的 book 对象。

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 对象时创建某种循环。

谢谢

4

2 回答 2

1

我注意到在 SQL 上运行探查器时,sql 语句没有在我的关系实体中包含任何连接语句。这是因为我的域查询不包括我的关系的预取项,我在查询中添加了以下内容:

        var query = new DomainSearch<T>
                   {    
                       SearchText = searchText,
                       PrefetchItems =
                           {
                               new Prefetch(typeof(Users))
                           }
                   };
于 2010-11-22T15:10:26.687 回答
0

为了确保,您正在寻找已借出特定图书实体的用户实体列表。这是正确的用例,还是您正在寻找已借阅特定书籍的用户实体列表?

无论如何,LLBLGen 对这些案例的支持非常好,可以引用实体之间的关系并快速轻松地使用相关实体。

假设您正在通过唯一 BookId/ISBN/等查找一本书......

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

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

假设您已经定义了实体之间的关系,就这么简单。

于 2010-11-19T18:10:49.380 回答