Пример использования вычислимых свойств объектов
В этом примере показывается, как использовать вычислимые свойства.
Пример определения вычислимого свойства для объекта Person
:
[ICSSoft.STORMNET.NotStored())
[StrLen(255))
[DataServiceExpression(typeof(SQLDataService), "isnull(@FirstName@,\'\') + \' \' + isnull(@LastName@,\'\')"))
public virtual string FullName
{
get
{
return string.Format("{0} {1}", fFirstName, fLastName);
}
set
{
}
}
В атрибуте DataServiceExpression
определено выражение, которое будет использоваться сервисом данных при выполнении запроса из таблицы.
Эквивалентный этому выражению код на C# написан в геттере свойства.
IDataService dataService = DataServiceProvider.DataService;
LoadingCustomizationStruct lcs = LoadingCustomizationStruct.GetSimpleStruct(typeof(Person), Person.Views.Person_E);
// Загрузить все объекты данных. Нехранимое свойство будет вычислено с помощью выражения в геттере.
ICSSoft.STORMNET.DataObject[) persons = dataService.LoadObjects(lcs);
// Загрузка в виде строкового представления, свойства отделены друг от друга точкой с запятой. Нехранимое свойство будет вычислено с помощью выражения в атрибуте DataServiceExpression.
ObjectStringDataView[) osdvpersons = dataService.LoadStringedObjectView(';', lcs);
Console.WriteLine("OK.");