首页 > 解决方案 > 如何在 asp.net 核心 API 中从子对象设置对象属性值?

问题描述

如何从子对象设置internal属性值。我检查了断点,它始终为空,而具有在请求正文中发送的值user_idUser.user_iduser.user_id

班级

public class Project
{
    public int id {get; set;}
    public string name {get; set;}

    // user_id is null while user.user_id has value as sent in request body
    internal int? user_id {get; set;}

    public User user {get; set;}

    public Project()
    {
        user_id = user?.user_id;
    }
}

public class User
{
    public int user_id {get; set;}
    public int user_name {get; set;}
}

控制器

[HttpPost]
public IActionResult Create([FromBody] Project project)
{
    return Ok(project);
}

标签: c#asp.netasp.net-mvcasp.net-core

解决方案


看起来您只是在使用内部属性来从对象user_id中读取属性的值。如果是这种情况,那么您可以完全这样做-通过它读取对象,例如-user_iduseruser_iduser

public class Project
{
    public int id { get; set; }
    public string name { get; set; }
    internal int? user_id { get { return user.user_id; } }

    public User user { get; set; }
}

推荐阅读