【发布时间】:2020-11-11 16:19:13
【问题描述】:
使用 EF Core
我们正在尝试获取评估的所有信息,包括其组和所有分配的用户。见 Database Diagram
按以下顺序工作;
- 将空组的 HttpPost (api/Assessment/aID/groups) 发送到评估
- HttpPost (api/Group/gID/users) 用户到现有组
我们正在努力完成的事情(引用的代码是一个不同的例子,但原理相同);
- HttpPost (api/Assessment/aID/groups),其中组已包含用户列表。在尝试完成此操作时,
a possible object cycle was detected which is not supported.
This piece of code is currently throwing a NullReference on Address
-------------------------------------------------------------------
Group groupToCreate = new Group { Name = dto.Name, Description = dto.Description };
foreach (var u in dto.Users)
{
groupToCreate.AddUser(new User
{
Name = u.Name,
Email = u.Email,
Address = new Address
{
Country = u.Address.Country,
City = u.Address.City,
PostalCode = u.Address.PostalCode,
Street = u.Address.Street,
HouseNr = u.Address.HouseNr,
BusNr = u.Address.BusNr
}
});
}
_groupRepository.Add(groupToCreate);
_groupRepository.SaveChanges();
return groupToCreate;
- HttpGet (api/Assessment) 显示其分配的组和链接的用户。
This seems to be working
------------------------
groupList = _groups.Select(g => new GroupDTO
{
Name = g.Name,
Description = g.Description,
Users = g.GroupUsers.Select(u => new UserDTO
{
Name = u.User.Name,
Email = u.User.Email,
Address = new AddressDTO
{
Country = u.User.Address.Country,
City = u.User.Address.City,
PostalCode = u.User.Address.PostalCode,
Street = u.User.Address.Street,
HouseNr = u.User.Address.HouseNr,
BusNr = u.User.Address.BusNr
}
}).ToList()
}).ToList();
【问题讨论】:
-
顺便说一下下面我的cmets,附上代码的图片远不如仅仅在帖子中添加代码sn-ps有用; SO 旨在允许轻松询问与代码相关的问题,因此您和其他所有人实际上复制/粘贴相关代码位比发布 .png 图像更容易......
标签: c# api rest many-to-many relational