我正在与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中是如何工作的。任何人都可以协助指导或指导我的教程吗? 目前,当我拿到与书籍相关的新贷款来更新我的模型书时,我得到了stackoverflow错误。我假设这是在尝试更新我的Book对象时创建某种循环。
感谢
答案 0 :(得分:1)
我注意到在SQL上运行一个分析器时,sql语句没有在我的关系实体中包含任何连接语句。 这是因为我的域名查询没有包含我的关系的预取项目,我在我的查询中添加了以下内容:
var query = new DomainSearch<T>
{
SearchText = searchText,
PrefetchItems =
{
new Prefetch(typeof(Users))
}
};
答案 1 :(得分: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
}
假设您已经定义了实体之间的关系,就这么简单。