Я пишу код для сопоставления определенных свойств от одного объекта другому, кроме Навигационных свойств.
Мой код выглядит примерно так:
var properties = typeof(TOne).GetProperties();
var t = new TOne();
foreach (var prop in properties)
{
var skip = exempt == null || (exempt != null && exempt.Contains(prop.Name));
if (!skip && CommonHelper.HasProperty(obj, prop.Name))
{
var _prop = obj.GetType().GetProperty(prop.Name);
CommonHelper.SetPropValue(t, prop.Name, _prop.GetValue(obj, null));
}
}
Я хотел бы пропустить все навигационные свойства (не хочу копировать объект, но примитивные типы).
Например:
class Person {
public int Id { get; set; }
[ForeignKey("DetailId")]
public Detail Detail { get; set; }
public int DetailId { get; set; }
}
Я хочу скопировать DetailId но не объект Detail .