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);
我的印象是这应该是默认设置,但似乎不是。
我有这个简单的代码:
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);
我的印象是这应该是默认设置,但似乎不是。