Я пытаюсь выяснить, как создать дополнительные «вычисляемые» свойства, предоставляемые в клиенте Silverlight для данного типа сущности. Моя структура решения выглядит следующим образом (упрощенно):
Пространство имен «Доступ к данным», класс Lib, в котором хранится мой EDMX
Веб-приложение пространства имен "Web", в котором размещается приложение silverlight, а также служба домена, которая проецируется через EDMX (поэтому имеется ссылка на проект "Доступ к данным".)
Пространство имен "SLApp", приложение Silverlight
Одна из моих сущностей - Персона (очень упрощенно):
public partial class Person
{
public string FirstName {get; set;}
public string LastName {get; set;}
}
Я хочу иметь свойство "помощник" / "вычислено", называемое FullName, которое просто объединяет имя и фамилию. В прошлом это было легко; создайте свой собственный публичный частичный класс Person и добавьте свойство / логику, а затем я могу использовать его как обычное свойство. Но служба домена RIA, похоже, не раскрывает это свойство, поэтому я не могу использовать его на клиенте. Если бы EDMX был в веб-приложении, я мог бы использовать файл .Shared.cs и включить его в приложение SL (я полагаю), но я не хочу, чтобы мой EDMX был в веб-приложении (кажется грязным :))
Я использую шаблон MVVM, чтобы я мог просто создать Свойство для класса ViewModel, но, похоже, мне придется дублировать эту логику несколько раз (любой ViewModel, для которой мне нужно свойство FullName). Я попытался создать метод расширения для объекта Person в SL-приложении под названием FullName, но, очевидно, вы не можете привязать методы расширения.
Я новичок в Silverlight, это мое первое "настоящее" приложение, так что, может быть, я просто упускаю что-то очень простое ... Я надеюсь, что да. Любая помощь будет великолепна.
Спасибо!