【发布时间】:2018-05-18 11:44:34
【问题描述】:
我已经使用以下型号设置了 LiteDb。
public partial class User
{
[JsonProperty("id")]
public long Id { get; set; }
[JsonProperty("email")]
public string Email { get; set; }
[JsonProperty("name")]
public string Name { get; set; }
[JsonProperty("user_roles")]
public List<UserRole> UserRoles { get; set; }
[JsonProperty("created_at")]
public DateTimeOffset CreatedAt { get; set; }
[JsonProperty("updated_at")]
public DateTimeOffset UpdatedAt { get; set; }
}
public class UserRole
{
[JsonProperty("id")]
public long Id { get; set; }
[JsonProperty("name")]
public string Name { get; set; }
}
以下语句使用存储库模式并使用Linq 过滤记录,按预期工作。我从数据库中获得了正确数量的记录。
_repository
.Query<Models.Offline.User>()
.ToList()
.Where(x => x.UserRoles.Any(r => r.Name.Equals("customer")))
.ToList();
我正在尝试使用repository 模式查询相同的记录,如下所示。
_repository
.Query<Models.Offline.User>()
.Where(u => u.UserRoles.Any(role => role.Name.Equals("customer")))
.ToList();`
使用上述语句不返回任何记录。
我上面的说法有什么问题?
【问题讨论】:
-
您的问题是什么?您是否期望返回任何记录?什么记录?您希望找到的任何记录是如何进入您的存储库的?请编辑您的答案以提供更多详细信息。
-
@DanDaviesBrackett 我已经更新了这个问题。感谢您的指导。