【问题标题】:Error w/ context initialized from JaySvcUtil-generated model从 JaySvcUtil 生成的模型初始化上下文时出错
【发布时间】:2014-09-10 13:15:35
【问题描述】:

仔细检查后,生成的文件与 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 需要一个非 undefined 或 null 的值 在我的代码中的这一行:

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

提前致谢!

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

【问题讨论】:

    标签: odata jaydata


    【解决方案1】:

    看来我只做了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;
        }
    

    to etc etc etc 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: 是你自己的上下文。

    【讨论】:

      猜你喜欢
      • 2019-01-07
      • 1970-01-01
      • 1970-01-01
      • 2021-08-03
      • 2014-10-13
      • 1970-01-01
      • 2011-08-21
      • 2015-02-19
      • 2015-11-03
      相关资源
      最近更新 更多