从JaySvcUtil生成的模型初始化的上下文错误

时间:2014-09-10 13:15:35

标签: odata jaydata

仔细检查后,与JaySvcUtil构建的.js文件一起生成的文件 - 在我的案例中称为BO_Data.d.ts无法解析对 $ data.IPromise 的两个引用。在我在数据库中添加新表后,在Visual Studio中重新生成我的.edmx模型,然后使用JaySvcUtil.exe重新生成实体模型时,就开始发生这种情况。

declare module WcfService1 {
export class BOLOEntities extends $data.EntityContext {
onReady(): $data.IPromise;
onReady(handler: (context: BOLOEntities) => void): $data.IPromise;

在控制台中,我看到此错误: typeOrName需要未定义的值或null 在我的代码中的这一行:

window['bolo'] = new WcfService1.BOLOEntities(oProviderConfig);

提前致谢!

P.S。我这样做了,但没有帮助:TypeScript compile errors with JayData library and JaySvcUtil generated code

1 个答案:

答案 0 :(得分:0)

所以我似乎只做了TypeScript compile errors with JayData library and JaySvcUtil generated code

中描述的两件事之一

你必须:

1)更改jaydata.d.ts

declare module $data {
    interface IPromise<T> extends Object {
        then: {
            (handler: (args: T) => void ): IPromise<any>;
            (handler: (args: T) => any): IPromise<any>;
        };
        fail: {
            (handler: (args: T) => void ): IPromise<any>;
            (handler: (args: T) => any): IPromise<any>;
        };
       valueOf(): any;
    }

等等等 valueOf():Object;

和2)在生成的打字稿文件* .d.ts中。改变这个:

  onReady(): $data.IPromise;
  onReady(handler: (context: BOLOEntities) => void): $data.IPromise;

到此:

  onReady(): $data.IPromise<any>;
  onReady(handler: (context: BOLOEntities) => void): $data.IPromise<any>;

其中 context:是您自己的上下文。