Làm việc với gió được hỗ trợ bởi SharePoint, như được mô tả here và sử dụng TypeScript thay vì JS.Tại sao thực thểAspect của các mục truy vấn của tôi là rỗng?
Trong một lớp DataService tôi tạo ra một EntityManager và thực thi một truy vấn:
private servicePath: string = '/api/PATH/';
private manager: breeze.EntityManager;
constructor() {
this.init();
}
private init(): void {
this.manager = new breeze.EntityManager(this.servicePath);
}
public ListResponses(): breeze.Promise {
var query = breeze.EntityQuery.from("Responses");
return this.manager.executeQuery(query);
}
sau đó tôi gọi đây là từ mô hình của tôi xem, trong đó hoạt động tốt:
private loadResponses(): void {
this.dataservice.ListResponses().then((data) => {
this.handleResponsesLoaded(data);
}).fail((error) => {
this.handleDataError(error);
});
}
private handleResponsesLoaded(data:any): void {
for (var i = 0; i < results.length; i++){
this.extendItem(results[i]);
}
this.renderList(results, "#tp-responses-list");
}
Nhưng nỗ lực của tôi để mở rộng mỗi mục không thành công, vì mục của entityAspect
là không:
private extendItem(item: any): void {
item.entityAspect.propertyChanged.subscribe(() => { // FAILS HERE
setTimeout(() => {
if (item.entityAspect.entityState.isModified()) {
this.dataservice.SaveChanges().then((result) => {
tracer.Trace("SaveChanged Result: " + result);
}).fail((error) => {
this.handleDataError(error);
});
}
}, 0);
});
}
Khi tôi nspecting mục kết quả, tôi có thể thấy nó chỉ là đối tượng đồng bằng dữ liệu, với tất cả các tài sản tôi mong chờ nhưng không có sự tốt lành Entity:
Tôi vừa mới bắt đầu với gió, vì vậy cách tốt nhất để đặt câu hỏi có lẽ là: tôi đã làm gì sai ở đây?
Jay - Cảm ơn bạn đã trả lời nhanh chóng. Tôi đang sử dụng siêu dữ liệu được trích xuất từ edmx của tài liệu tham khảo dịch vụ, nhưng phải có điều gì đó sai - Tôi sẽ cố khắc phục sự cố (tôi có nhiều loại thực thể và tôi không muốn áp dụng siêu dữ liệu theo cách thủ công trong khách hàng nếu tôi có thể giúp nó). Do đó, việc theo dõi nhanh chóng: loại so khớp dễ dàng với siêu dữ liệu như thế nào? Nó dựa trên tên loại hoặc trên bản đồ các thuộc tính như một giao diện hay ...? – JcFx
bạn có thể nhận danh sách các loại siêu dữ liệu chứa trong phương thức getEntityTypes của nó. Mỗi loại thực thể có một 'tên' và một tài sản 'shortName', hoặc có thể được kết hợp. –
Tôi sẽ xem xét điều đó vào buổi sáng. Cảm ơn một lần nữa. – JcFx