Как получить доступ и связать метаданные сущности (через JavaScript на клиенте), доступные в Upshot?

Одним из предполагаемых преимуществ Upshot является его способность запрашивать метаданные, предоставляемые через аннотации данных. Как можно получить доступ к метаданным для свойств объекта, таких как длина строки, значения по умолчанию, отображаемое имя, информация описания и обязательность поля?

Как связать эти данные с инфраструктурой проверки, такой как jQuery Validation или Knockout Validation?

Примечание. В настоящее время я использую Knockout 2.1.0, Upshot 1.0.0.2, Entity Framework 4.3 и ASP.NET MVC4.


person Anthony Gatlin    schedule 23.05.2012    source источник
comment
Энтони, это, наверное, мой самый большой вопрос относительно СПА, апшота, нокаута. Удалось ли вам найти информацию об этом за пределами SO?   -  person Beyers    schedule 27.07.2012
comment
У меня нет на данный момент, но он мне нужен.   -  person Anthony Gatlin    schedule 30.08.2012


Ответы (1)


Вы можете использовать функцию metadata() для доступа к этой информации, например:

Если у вас есть следующий результат регистрации:

@(Html.UpshotContext(bufferChanges: true)
    .DataSource<App.Controllers.DBController>(x => x.GetUsers())
    .ClientMapping<App.Models.User>("User")
)

вы можете получить доступ к метаданным (и правилам проверки) следующим образом:

var metadata = upshot.metadata(upshot.type(User));

вы также можете получить информацию о свойствах (например, «Имя»):

var propertyType = upshot.metadata.getPropertyType(upshot.type(User), "Name");
person mhu    schedule 09.10.2012