C# 在数据库c中同时插入两个对象#
我有一个数据库,有三个表:玩家、游戏和角色。这三个表之间的关系通过另一个名为PlayerGameRole的表显示,该表包含三个表的ID作为外键,也是PlayerGameRole表的主键。 目前,我正在尝试添加一个新的玩家,同时用相应的ID填充PlayerGameRole。但是,我能够执行API,但我的代码没有使用给定的信息填充表C# 在数据库c中同时插入两个对象#,c#,entity-framework,C#,Entity Framework,我有一个数据库,有三个表:玩家、游戏和角色。这三个表之间的关系通过另一个名为PlayerGameRole的表显示,该表包含三个表的ID作为外键,也是PlayerGameRole表的主键。 目前,我正在尝试添加一个新的玩家,同时用相应的ID填充PlayerGameRole。但是,我能够执行API,但我的代码没有使用给定的信息填充表 public Player AddPlayer(Player player){ using (DBContext db = new DBContext())
public Player AddPlayer(Player player){
using (DBContext db = new DBContext())
{
db.Configuration.ProxyCreationEnabled = false;
Player p = new Player();
p.Name = player.Name;
p.Email = player.Email;
p.PlayerGameRole = player.PlayerGameRole;
db.Player.Add(p);
db.SaveChanges();
return p;
}
}
这是我的PlayerModel:
public partial class Player{
[DataMember]
public int ID { get; set; }
[DataMember]
[Required]
[StringLength(255)]
public string Name { get; set; }
[DataMember]
[Required]
[StringLength(75)]
public string Email { get; set; }
[DataMember]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<PlayerGameRole> PlayerGameRole { get; set; }
}
公共部分类播放器{
[数据成员]
公共int ID{get;set;}
[数据成员]
[必需]
[StringLength(255)]
公共字符串名称{get;set;}
[数据成员]
[必需]
[第75段]
公共字符串电子邮件{get;set;}
[数据成员]
[System.Diagnostics.CodeAnalysis.SuppressMessage(“Microsoft.Usage”,“CA2227:CollectionPropertiesShouldBreadOnly”)]
公共虚拟ICollection扮演者角色{get;set;}
}
我想问题就在这里
p.PlayerGameRole = player.PlayerGameRole
尝试显式创建集合并添加元素:
p.PlayerGameRole = new List<PlayerGameRole>();
foreach(var role in player.PlayerGameRole)
{
p.PlayerGameRole.Add(role);
}
p.PlayerGameRole=newlist();
foreach(player.playergameole中的变量角色)
{
p、 PlayerGameRole.Add(角色);
}
您在哪里使用Linq?“不填充”-任何异常或什么?没有异常。它只是没有将数据添加到PlayerGameRole表中。谢谢!:你救了我几个小时的时间,让我的头撞在桌子上