Требование Breeze.Sharp.BaseEntity относится исключительно к стороне клиента, и причина этого в том, чтобы обеспечить сохранение всех функций, навигацию, исправление ключей, отслеживание изменений и уведомление, а также другие службы, которые делают Бриз клиент так прост в использовании.
Существует интерфейс IEntity, который реализует Breeze.Sharp.BaseEntity, и вы можете реализовать его вместо использования Breeze.Sharp.BaseEntity, однако это очень нетривиальная задача. Мы рассматриваем возможность предложить некоторые рекомендации по этому поводу позже, если наше сообщество в целом сочтет это желательным.
Мы также планируем выпустить реализацию AOP IEntity, которую можно внедрить непосредственно поверх объектов модели POCO, но для этого, вероятно, потребуется PostSharp, а также могут возникнуть проблемы с запуском на некоторых клиентских платформах (Xamarin для Android/IOS). Никаких временных рамок для этого, пока мы не получим представление о спросе.
С другой стороны, текущая реализация очень уважительно относится к объектам вашей модели, в вашу модель добавлено только одно свойство EntityAspect вместе с несколькими событиями.
В прошлом мы пробовали чистый подход POCO на многих других платформах и библиотеках приложений и обнаружили, что недостатки перевешивают минимальную стоимость базового класса, особенно если учесть, что мы хотели, чтобы эта библиотека работала в любом клиенте .NET, включая Xamarin. /Мононуклеоз.
person
Jay Traband
schedule
19.06.2014