代码之家  ›  专栏  ›  技术社区  ›  Vikash Rathee

如何从中的子对象设置对象属性值asp.net核心API?

  •  0
  • Vikash Rathee  · 技术社区  · 4 年前

    我如何设置 internal user_id User.user_id . 我用breakpoint检查了一下,当 user.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);
    }
    
    1 回复  |  直到 4 年前
        1
  •  -1
  •   Rena    4 年前

    更改模型如下:

    public class Project
    {
        public int id { get; set; }
        public string name { get; set; }
    
        internal int? user_id { get; set; }
        private User _user;
        public User user
        {
            get { return _user; }
            set
            {
                _user = value;
    
                // Assign user_id 
                user_id = value.user_id;
            }
        }
        //public User user { get; set; }
    
    }
    

    enter image description here

        2
  •  1
  •   atiyar    4 年前

    看起来您正在使用内部属性 user_id 只是为了阅读 用户id user 用户id 物体穿过它,就像-

    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; }
    }
    
    推荐文章