Я делаю приложение Silverlight 4 с WCF RIA Services.
На стороне сервера (проект *.Web
) у меня есть Entity Model, которая автоматически генерируется из базы данных SQL Server.На стороне клиента у меня есть доменная служба и прокси-объекты, которые создаются Visual Studio для использования в сборках Silverlight.
Я хочу добавить пользовательские свойства в модель (желательно на стороне сервера).Скажем, у меня есть таблицы Contact
, Company
и Address
, которые связаны внешними ключами (но не обязательно фактическим внешним ключом ограничений ).Я хочу добавить свойство, которое будет возвращать объект Contact
Company
Address
.
Я пытался сделать это, создав частичный класс для расширения класса Contact
и добавив свойство CompanyAddress { get; }
.Но я понятия не имею, что мне нужно делать с новым свойством, чтобы оно распространялось на автоматически сгенерированный код на стороне клиента.Есть ли конкретные атрибуты, которые я должен добавить к свойству?Нужно ли регистрировать его где-нибудь, чтобы генератор кода знал об этом?
Должно ли это быть свойство навигации или что-то более простое?
И это даже лучшеспособ сделать что-то, или я должен отказаться от расширения серверной модели и просто сделать это на стороне клиента?(Если я делаю это на стороне клиента, я сталкиваюсь с проблемой отсутствия доступа к объекту контекста внутри отдельных Entity
-приобретенных классов.)