Valueinjecter 映射复杂对象

Valueinjecter mapping complex objects

我有这个简单的代码:

using Omu.ValueInjecter;

namespace InjectionTest
{
    public class Partner
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public City City { get; set; }
    }

    public class City
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }

    public class PartnerViewModel
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string CityName { get; set; }
    }

    class Program
    {
        static void Main(string[] args)
        {
            var city = new City()
            {
                Id = 1,
                Name = "Athens"
            };

            var partner = new Partner()
            {
                Id = 1,
                Name = "Acme d.o.o.",
                City = city
            };

            var vm = new PartnerViewModel();

            vm.InjectFrom(partner);

        }
    }
}

据我了解,Valueinjector 通过 class 名称 + 属性 名称映射复杂对象图。我希望注入后 vm 对象 属性 CityName 为 "Athens",但它为空。我想我错过了什么。感谢帮助。

没关系。通过示例后,我意识到行

vm.InjectFrom(partner);

应该阅读

vm.InjectFrom<FlatLoopInjection>(partner);

我的印象是这应该是默认设置,但似乎不是。