Предположим, что в вашем коде есть следующие классы.
1) Адрес класса
public class Address {
public string Street { get; set; }
public string City { get; set; }
}
2) Класс пользователя
public class User {
public string UserName { get; set; }
public Address UserAddress { get; set; }
}
Теперь, когда вы хотите связать столбец Street со свойством User.Address.Street, это, к сожалению, не сработает, просто установив FieldName в «Address.Street»
Но, если важно, чтобы вы выполняли это так, как хотите, я бы предложил переопределить метод ToString () класса Address следующим образом:
public class Address {
public string Street { get; set; }
public string City { get; set; }
//Override ToString() method
public override string ToString() {
return this.Street;
}
}
Затем установите имя поля в «Адрес», а не в «Address.Street», что должно сработать.
Также другим подходом было бы добавить еще одно свойство readonly с именем UserStreet в классе User:
public class User {
public string UserName { get; set; }
public Address UserAddress { get; set; }
public UserStreet {
get { return UserAddress != null ? UserAddress.Street : ""; }
}
}
А затем установите FieldName на «UserStreet».
Надеюсь, это поможет.