Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
breeze:具有navigationProperty的客户端模型出现错误_Breeze - Fatal编程技术网

breeze:具有navigationProperty的客户端模型出现错误

breeze:具有navigationProperty的客户端模型出现错误,breeze,Breeze,为ResourceUnavailabilities调用addEntityType时,我得到一个错误:配置“NavigationProperty”实例时出错。“entityTypeName”参数必须是“字符串” 我不明白。我看了微风的网站,我不知道我做错了什么 客户端模型: metadataStore.addEntityType({ shortName: 'Unavailability', namespace: 'ecdt',

ResourceUnavailabilities
调用addEntityType时,我得到一个错误:
配置“NavigationProperty”实例时出错。“entityTypeName”参数必须是“字符串”

我不明白。我看了微风的网站,我不知道我做错了什么

客户端模型:

       metadataStore.addEntityType({
            shortName: 'Unavailability',
            namespace: 'ecdt',
            dataProperties: {
                id: { dataType: DT.Guid, isPartOfKey: true },
                startDate: { dataType: DT.DateTimeOffset },
                endDate: { dataType: DT.DateTimeOffset },
                isDayOff: { dataType: DT.Boolean }
            }
        });

        metadataStore.registerEntityTypeCtor('Unavailability', null, null);

        metadataStore.addEntityType({
            shortName: 'ResourceUnavailabilities',
            namespace: 'ecdt',
            dataProperties: {
                id: { dataType: DT.Guid, isPartOfKey: true },
                resourceId: { dataType: DT.Int32 },
            },
            navigationProperties: {
                unavailabilities: { dataType: 'Unavailability', hasMany: true }
            }
        });

        metadataStore.registerEntityTypeCtor('ResourceUnavailabilities', null, null);
除此之外,一切都很好。我可以创建
不可用性
实体,也可以创建
资源不可用性
实体(只要删除导航属性…)

此外,在本教程中,您将使用
name
属性,而不是
shortname
。如果我这样做,我会得到一个错误


配置“EntityType”的实例时出错。未知属性:“名称”
。样品过期了吗?

好的,问题解决了。正确的映射是:

  metadataStore.addEntityType({
            shortName: 'Unavailability',
            namespace: 'ecdt',
            dataProperties: {
                id: { dataType: DT.Guid, isPartOfKey: true },
                startDate: { dataType: DT.DateTimeOffset },
                endDate: { dataType: DT.DateTimeOffset },
                isDayOff: { dataType: DT.Boolean }
            },

            navigationProperties: {
                unavailabilities: { entityTypeName: 'ResourceUnavailabilities', isScalar: true, associationName: "test" }
            }
        });

        metadataStore.registerEntityTypeCtor('Unavailability', null, null);

        metadataStore.addEntityType({
            shortName: 'ResourceUnavailabilities',
            namespace: 'ecdt',
            dataProperties: {
                id: { dataType: DT.Guid, isPartOfKey: true },
                resourceId: { dataType: DT.Int32 },
            },
            navigationProperties: {
                unavailabilities: { entityTypeName: 'Unavailability', isScalar: false, associationName: "test" }
            }
        });

breeze文档似乎不是最新的。

哪个文档?如果你给我一个链接,我会更新它。链接在我的第一篇文章(教程)中:这里又是:什么部分不正确?此页面声明它使用“breeze.metadata helper.js”组件来简化元数据的创建。也许你没有看到,或者我遗漏了什么。示例代码不正确。正如我在第一篇帖子中所说,这段代码不起作用:
unavailabilities:{dataType:'Unavailability',hasMany:true}
@Sam-我不知道你为什么说文档不正确。那里的代码是直接从工作测试中提取出来的。为了更清楚地说明这一点,我将它移植到了一个应用程序中,这样您就可以实时运行它,并通过自己的测试来探索它。