Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在EF5中使用Attach更新相关实体时,如何更新相关实体?_C#_Entity Framework - Fatal编程技术网

C# 在EF5中使用Attach更新相关实体时,如何更新相关实体?

C# 在EF5中使用Attach更新相关实体时,如何更新相关实体?,c#,entity-framework,C#,Entity Framework,我有一个在数据库中有N个PlayerAliases(1-N)的表播放器 当我编辑球员信息时,我想更新一些球员表字段和球员名单字段 我不会在PlayerAlias中添加/删除字段,只是更新。我如何在EF中做到这一点 下面的代码,来自ViewModel和Save函数示例。玩家模型应类似于ViewModel示例 public class PlayerViewModel { public int PlayerID {get;set;} public string Name {get;se

我有一个在数据库中有N个PlayerAliases(1-N)的表播放器

当我编辑球员信息时,我想更新一些球员表字段和球员名单字段

我不会在PlayerAlias中添加/删除字段,只是更新。我如何在EF中做到这一点

下面的代码,来自ViewModel和Save函数示例。玩家模型应类似于ViewModel示例

public class PlayerViewModel
{
    public int PlayerID {get;set;}
    public string Name {get;set;}
    public string Address {get;set;}
    public IEnumerable<Alias> ListAliases {get;set;}
}


public bool UpdatePlayer(PlayerViewModel vm){
    var e = new Players { PlayerID = vm.PlayerID };
    db.Players.Attach(e);

    e.Name = vm.Name;
    e.Address = vm.Address;

    if (vm.ListAliases != null)
    {
        // ??????????????
        // How to update ListAliases ??
    }

    return db.SaveChanges() > 0;
}
public类playervewmodel
{
public int PlayerID{get;set;}
公共字符串名称{get;set;}
公共字符串地址{get;set;}
公共IEnumerable列表别名{get;set;}
}
公共布尔更新层(PlayerViewModelVM){
var e=新玩家{PlayerID=vm.PlayerID};
db.Players.Attach(e);
e、 Name=vm.Name;
e、 地址=虚拟机地址;
if(vm.listAlias!=null)
{
// ??????????????
//如何更新列表别名??
}
返回db.SaveChanges()>0;
}
我找到了方法。
直接附加到相关表

if (vm.ListAliases != null)
{
    foreach (var item in vm.ListAliases )
    {
        var eAlias = new PlayerAliases() { CodPlayerAlias = item.CodPlayerAlias };
        db.PlayerAliases.Attach(eAlias);
        eAlias.Column1 = item.Column1;
        eAlias.Column2 = item.Column2;
    }
}

你能发布你的EF模型类和/或数据库结构吗?我认为没有必要,因为我要求的是通用解决方案,我找到了一个适合我的解决方案,但我也想知道其他解决方案。。