Зачем это нужно? Где ваша служба раскрывает то, что возможно может быть ArticleImage
?
Re ваш комментарий; при использовании [ServiceKnownType]
дополнительный трип по-прежнему отображается в «mex» (используется через «svcutil»), но не WSDL. Вы используете клиент WCF? Он должен появиться (я только что проверил ... это сделал). В целом, однако, возвращать расплывчатые данные из веб-сервиса не очень хорошая идея ... подтипы, конечно! Dictionary<string,ArticleImage>
или даже Dictionary<string,SomeBaseType>
(с [KnownType]
и т. Д.), Хорошо! Но object
, HashTable
и т. Д. - не очень хорошая идея (ИМО).
Вы также можете просто вернуть список вашего типа (List<ArticleImage>
), который будет работать во всех сценариях (и будет легким для WSDL и т. Д.); и пусть клиент делает словарь в конце.
Что касается LINQ-to-SQL; объекты для "mex" должны быть украшены [DataContract]
/ [DataMember]
. Вы можете сделать это с помощью переключателя «serialization» для dbml. С этим набором (Serialization Mode = Unidirectional) он должен работать. Честно говоря, я думаю, вам будет лучше, если вы добавите фиктивный метод, который делает тип явным в API.