C# class constructor assigning to 'this'

前端 未结 2 1253
迷失自我
迷失自我 2021-01-21 18:13

I have a \'naïve\' question.

With the following sample code:

public class ThisClass
{
    public int ThisClassID { get; set; }
    public string ThisValu         


        
2条回答
  •  轻奢々
    轻奢々 (楼主)
    2021-01-21 18:35

    You should take a look at AutoMapper, and your code could look as follows:

    // Somewhere in your application/service initialization class and in some method...
    Mapper.CreateMap();
    
    public class ThisClass
    {
        public int ThisClassID { get; set; }
        public string ThisValue { get; set;}
    
        public ThisClass()
        {
        }
    
        public ThisClass(int thisClassID)
        {
            using (MyContext dbContext = new MyContext())
            {
                Mapper.Map(dbContext.CaseNotes.Find(thisClassID), this);
            }
        }
    }
    

    BTW it sounds like a bad idea. I wouldn't populate a domain object inside its own constructor.

    This is a good responsibility for the repository.

提交回复
热议问题