.net 更新图中的集合
环境足迹6。我正试图找出更新EF图最流畅的方法。所以我有一个忍者模型和一个忍者装备列表。假设忍者有如下三种装备 忍者(Id:99).net 更新图中的集合,.net,entity-framework,.net,Entity Framework,环境足迹6。我正试图找出更新EF图最流畅的方法。所以我有一个忍者模型和一个忍者装备列表。假设忍者有如下三种装备 忍者(Id:99) 设备ID 1,名称:“工具” 装备ID 2,名称:“剑” 设备ID 3,名称:“口袋妖怪” 我将模型发送到web应用程序进行编辑,并返回以下内容 忍者(Id:99) 设备ID 1,名称:“工具” 装备ID 3,名称:“我最喜欢的口袋妖怪” 设备ID 0,因为它的新名称为:“Unicorn” 所以发生的事情是忍者已经 id为2“剑”的丢失物品 将id为3的项目
- 设备ID 1,名称:“工具”
- 装备ID 2,名称:“剑”
- 设备ID 3,名称:“口袋妖怪”
- 设备ID 1,名称:“工具”
- 装备ID 3,名称:“我最喜欢的口袋妖怪”
- 设备ID 0,因为它的新名称为:“Unicorn”
public class NinjaEquipment
{
public int Id { get; set; }
public string Name { get; set; }
public EquipmentType Type { get; set; }
[Required]
public Ninja Ninja { get; set; }
}
public class Ninja
{
public Ninja(Clan clan )
{
Clan = clan;
EquipmentOwned = new List<NinjaEquipment>();
}
public Ninja()
{
EquipmentOwned = new List<NinjaEquipment>();
}
public int Id { get; set; }
public Clan Clan { get; set; }
public int ClanId { get; set; }
public bool ServedInOnibawan { get; set; }
public string Name { get; set; }
public List<NinjaEquipment> EquipmentOwned { get; set; }
}
公共级设备
{
公共int Id{get;set;}
公共字符串名称{get;set;}
公共设备类型类型{get;set;}
[必需]
公共忍者忍者{get;set;}
}
公共级忍者
{
公共忍者(氏族)
{
宗族=宗族;
EquipmentOwned=新列表();
}
公共忍者()
{
EquipmentOwned=新列表();
}
公共int Id{get;set;}
公共氏族{get;set;}
public int ClanId{get;set;}
公共bool-servedinibawan{get;set;}
公共字符串名称{get;set;}
公用列表设备所有{get;set;}
}
好吧,你可以删除忍者所有的装备,只需添加他现在拥有的所有新装备,如果你不这么做,那么当然:1)检查新装备,2)检查更改的装备,3)检查删除的装备我考虑过了。在我继续之前,我需要确认没有直接的EF机制为我做这件事;和db.attach();我几乎可以肯定,如果它真的是一个实体模型,作为输入,有某种方法可以保存它,让entity traducer为您工作,我不知道它会更快还是更慢,尽管我找不到ApplyCurrentValue。这是EF6吗?不再是了。。。嗯,你可以删除所有忍者拥有的装备,只需添加他现在拥有的所有新装备,如果你不这么做,那么当然:1)检查新装备,2)检查更改的装备,3)检查删除的装备我考虑过了。在我继续之前,我需要确认没有直接的EF机制为我做这件事;和db.attach();我几乎可以肯定,如果它真的是一个实体模型,作为输入,有某种方法可以保存它,让entity traducer为您工作,我不知道它会更快还是更慢,尽管我找不到ApplyCurrentValue。这是EF6吗?不再是了。。。