我创建一个Xamarin.iOS
应用和Realm
database.I想保持我的POCO
对象从我RealmObject
所以我所做的就是使用存储库模式和内部的独立知识库我尝试使用AutoMapper将POCO映射到例如(子)使用Automapper映射对象领域对象与Xamarin和C#
public class PlaceRepository : IPlaceRepository
{
private Realm _realm;
public PlaceRepository(RealmConfiguration config)
{
_realm = Realm.GetInstance(config);
}
public void Add(Place place)
{
using (var trans = _realm.BeginWrite())
{
var placeRealm = _realm.CreateObject<PlaceRealm>();
placeRealm = Mapper.Map<Place, PlaceRealm>(place);
trans.Commit();
}
}
所以,如果我调试我的代码一切OK映射和placeRealm填充OK,但是当我犯什么被保存到境界分贝。以下是我RealmObject
public class PlaceRealm : RealmObject
{
[ObjectId]
public string Guid { get; set; }
public string Title { get; set; }
public string Notes { get; set; }
}
,这是我的POCO广场
public class Place
{
public string Guid { get; set; }
public string Title { get; set; }
public string Notes { get; set; }
}
而且AutoMapper是像这样初始化:
Mapper.Initialize(cfg =>
{
cfg.CreateMap<Place, PlaceRealm>();
cfg.CreateMap<PlaceRealm, Place>();
});
所有标准的东西。有没有人设法得到类似的工作?
您的poco'Place'被称为'PlaceRealm'。我怀疑Automapper是实例化一个新的对象。也许你可以试试 Mapper.Map(place,placeRealm); 即不存储返回值 –