从实体框架中的密钥获取实体成员

时间:2017-10-14 12:19:00

标签: c# entity-framework

在涉及Asp.Net核心API和实体框架的项目中,我有以下实体:

public class A
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.None)]
    public string Id { get; private set; }

    [Required] public string Name { get; set; }

    [Required] public B MyObj { get; set; }
}

public class B
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.None)]
    public string Id { get; private set; }
}

我的API有这个模型,它代表一个POST请求主体,用于创建新的A

public class A_Post
{
    public string Name { get; set; }

    public string Obj_Id { get; set; }
}

此处,Obj_Id是指我希望B具有A.MyObj个实例的ID。

我想要做的是向A添加一个方法,该方法从A的实例创建A_Post的实例。像这样:

public static A CreateFromPost(A_Post post)
{
    var entity = new A();
    entity.Name = post.Name;
    // post.Obj_Id is accessible here, but cannot set entity.MyObj
    return entity;
}

但是,我不确定如何让Obj_Id拥有它所对应的实体,而不是从上下文中获取它。有没有办法做到这一点?或者我是否必须在程序中的其他位置设置MyObj,可以访问上下文?

0 个答案:

没有答案