Я пытаюсь использовать Breese Sharp с Blazor Webassembly. Я смог перекомпилировать Breese Sharp для. Net Стандарт 2.0 и 2.1, который показал положительные результаты при чтении данных с сервера. Однако при попытке загрузить метаданные из скрипта я заметил, что метод MetadaStore.ImportMetadata не может загрузить метаданные. Когда я продолжил, я обнаружил, что Breeze.Sharp ожидает свойство metadataVersion и узел namingConvention из метаданных json, возвращаемых сервером breeze.
Что я вижу, так это то, что сначала изменился формат метаданных и эти свойства больше не присутствуют в сгенерированных метаданных. Но если я извлекаю метаданные, используя DataService, то метаданные загружаются в метаданные.
Мой вопрос ... Есть ли план обновления breeze sharp, чтобы соответствовать последним событиям на платформе do tnet? Пожалуйста, подумайте об этом, так как он очень хорошо сочетается с Blazor. На самом деле мой эксперимент прошел очень хорошо, ожидая загрузки метаданных, хранящихся локально, вместо того, чтобы каждый раз загружать их с сервера.
private void DeserializeFrom(JNode jNode, bool isFromServer) {
MetadataVersion = jNode.Get<String>("metadataVersion");
// may be more than just a name
var ncNode = jNode.GetJNode("namingConvention");
if (ncNode != null) {
var nc = Configuration.Instance.FindOrCreateNamingConvention(ncNode);
if (nc == null) {
OnMetadataMismatch(null, null, MetadataMismatchTypes.MissingCLRNamingConvention, ncNode.ToString());
} else {
// keep any preexisting ClientServerNamespaceMap info
NamingConvention = nc.WithClientServerNamespaceMapping(this.NamingConvention.ClientServerNamespaceMap);
}
}
// localQueryComparisonOptions
jNode.GetJNodeArray("dataServices").Select(jn => new DataService(jn)).ForEach(ds => {
if (GetDataService(ds.ServiceName) == null) {
AddDataService(ds);
}
});
jNode.GetJNodeArray("structuralTypes")
.ForEach(jn => UpdateStructuralTypeFromJNode(jn, isFromServer));
jNode.GetMap<String>("resourceEntityTypeMap").ForEach(kvp => {
var stName = kvp.Value;
if (isFromServer) {
stName = TypeNameInfo.FromStructuralTypeName(stName).ToClient(this).StructuralTypeName;
}
// okIfNotFound because metadata may contain refs to types that were already excluded earlier in
// UpdateStructuralTypeFromJNode
var et = GetEntityType(stName, true);
if (et != null) {
SetResourceName(kvp.Key, et);
}
});
}