我在数据库中有典型的表,如用户、用户组,它们有关系。
在我的域模型中,我希望如果您请求用户,您将获得用户并且每个用户都拥有属于的属性,这意味着这些是他所属的组。在属性中我想要组列表(作为组的类型安全)
另一方面也应该这样做,这意味着每个组都应该知道哪些用户属于该组。
我有这个类(示例):
public class User
{
int Id { get; set; }
string Name { get; set; }
List<Usergroup> BelongsTo { get; set; }
User()
{
BelongsTo = new List<Usergroup>();
}
}
public class Usergroup
{
int Id { get; set; }
string Name { get; set; }
List<User> Users { get; set; }
Usergroup()
{
Users = new List<User>();
}
}
internal class Relation
{
int userId;
int groupId;
}
现在,实现它的最佳方法是什么,以及填充所有对象的最快方法是什么。
顺便说一句:我正在使用亚音速来获取所有数据库记录(对于每个表一个选择)。至少有 1500 个用户和 30 个组。
我当前的代码基于组的foreach,组的relationship.where,然后users.singleordefault 来查找用户,然后将用户添加到组,将组添加到用户。但它需要大约 30 秒才能做到这一点。
我的客户端应用程序是一个 web 应用程序,所以我将结果存储在一个缓存的存储库中,这就是我这样做的原因!!