在这种方法中,我将一个新项目(房间)插入到数据库中。该过程按预期运行。
但是,除此之外,每次我添加一个房间时,我都想添加一件家具作为初始件。每个家具类型的物品都有一个“RoomID”来指定它的位置。因此,Room 包含家具的集合。下面,我是数据库中的一件“主要”家具,将其添加到房间的家具集合中,并提交更改。房间被添加到数据库中,但 Furniture.RoomID 列仍然为空。
public void AddResidentToUniverse(int residentID, int universeID)
{
Universe uni = _context.Universes.FirstOrDefault(u => u.UniverseID == universeID);
Resident res = _context.Residents.FirstOrDefault(r=>r.ResidentID == residentID);
if (uni != null && res!=null)
{
Room e = new Room();
Furniture primary = _context.Furnitures.FirstOrDefault(p => p.FurnitureID == new FurnitureController().GetPrimary(universeID).FurnitureID);
e.UniverseID = uni.UniverseID;
e.RoomName = res.RootName;
e.ResidentID = residentID;
e.Expired = null;
e.Furniture.Add(primary);
uni.Rooms.Add(e);
_context.SubmitChanges();
}
}