[DataContract]
public class SearchCriteria
{
[DataMember]
public string CountryID { get; set; }
}
[DataContract]
public class CitySearchCriteria: SearchCriteria
{
[DataMember]
public string CityID { get; set; }
}
Я создаю экземпляр SearchCriteria в своем действии контроллера MVC и пытаюсь преобразовать его в CitySearchCriteria.
SearchCriteria searchCriteria = new SearchCriteria();
searchCriteria.CountryID = "1";
CitySearchCriteria citySearchCriteria = searchCriteria as CitySearchCriteria;
Объект «citySearchCriteria» после приведенного выше оператора показывает значение NULL. Я ожидал, что он покажет оба свойства: CountryID и CityID с заполненным CountryID и пустым CityID... но он устанавливает для объекта значение NULL.
Какое здесь может быть решение? Имеет ли DataContract какое-либо отношение к этому?
Комментарии предполагают, что вы не можете преобразовать базу в производную: но на самом деле, я сделал это успешно, на мой взгляд, это просто не работает в действии контроллера:
CitySearchCriteria citySearchCriteria = (CitySearchCriteria)Model.SearchCriteria;
Это успешно конвертируется, так почему аналогичная вещь не работает в действии контроллера?