【发布时间】:2015-03-17 06:50:43
【问题描述】:
我有一些模型,我想在打字稿中使用它们,以便微风可以使用这些模型并构建metadataStore,但不知道该怎么做,有一些方法可以手动添加属性,但是我想从现有模型构建metadataStore
这是我由 T4TS 生成的 typescript 接口
/** Generated from Twine.Infrastructure.Entity **/
export interface IEntity extends breeze.Entity {
_id: number;
_created_at?: string;
_updated_at?: string;
}
/** Generated from Twine.Infrastructure.Models.Ingredient **/
export interface IIngredient extends twine.Model.IEntity {
Price?: number;
Name: string;
Description: string;
}
这个extends breeze.Entity确实是我加的。
这是应该从T 获取元数据并通过 id 返回单个结果的服务
Get<T>( key:string, successCallback: Function, failCallback?: Function ): void {
var type = new breeze.EntityType(); //what should be here???
var entityKey = new breeze.EntityKey(type, key);
this.manager.fetchEntityByKey(entityKey)
.then( ( data: breeze.EntityByKeyResult ) => { successCallback( data ) })
.catch( ( reason: any ) => {
if ( failCallback ) {
failCallback( reason );
}
});
}
所以new breeze.EntityType();这个构造函数接受EntityTypeOptions,看起来像
interface EntityTypeOptions {
shortName?: string;
namespace?: string;
autoGeneratedKeyType?: AutoGeneratedKeyType;
defaultResourceName?: string;
dataProperties?: DataProperty[];
navigationProperties?: NavigationProperty[];
}
那么我在哪里添加我现有的IEntity 模型?这样我就不需要从 EntityTypeOptions 构建它们了
【问题讨论】:
标签: typescript entity breeze