假设我有 2 个简单的表Users
和Orders
:
Users
有列Id
Orders
有列Id
和UserId
如何使用 moor_flutter 轻松获取用户的所有订单并将其作为以下模型的流返回?
class UserModel {
final String id;
final List<OrderModel> orderModels;
UserModel(this.id, this.orders);
}
class OrderModel {
final String id;
OrderModel(this.id);
}
这是官方文档,但未涵盖此用例。
EFCore 和 C# 的等效调用是:
public async Task<IEnumerable<UserModel>> GetUserOrders(String userId)
{
return await _db.Users
.Include(user => user.Orders)
.Where(user => user.Id == userId)
.Select(user => new UserModel
{
Id = user.Id,
OrderModels = user.Orders.Select(order => new OrderModel
{
Id = null,
}).ToList()
})
.ToListAsync();
}