(извините за мой плохой английский)
В приложении Silverlight 4 + RIA Services + EF4 Code Only у меня есть несколько классов в моем DbContext, которые содержат поле "IsActive" - я хочу знать от клиентаесли сущность имеет это поле и получает его.Моей первой мыслью было использование интерфейса:
public interface IHasActiveField
{
bool IsActive {get; set;}
}
public class Data: IHasActiveField
{
public bool IsActive {get; set;}
}
Это прекрасно работает на сервере, но на клиенте код, сгенерированный RIA, не имеет ссылки на мой интерфейс, поэтому я не могу проверить if (obj is IHasActiveField)
-то же самое происходит, если я пытаюсь наследовать от базового класса с полем IsActive
, на стороне клиента класс Data
всегда наследуется от Entity
- я, вероятно, мог бы использовать отражение, чтобы увидеть, существует ли поле, или просто проверитьдля каждого типа (if (obj is Data)
), но если возможен более элегантный способ, он будет лучше:)