gpt4 book ai didi

javascript - 'entityType' 参数必须是 'EntityType' 的实例

转载 作者:行者123 更新时间:2023-12-03 11:54:46 25 4
gpt4 key购买 nike

我刚刚开始使用 BreezeJS,并将 HotTowel 模板与 Asp.Net Web Api 和 EF 结合使用

我已经尝试使用 manager.getEntityByKey 检索记录,使用 http://www.breezejs.com/documentation/querying-locally 中的示例

为了测试我正在使用的代码:

 var key = new breeze.EntityKey("LibraryItemCategory", 1);
var entity = manager.getEntityByKey(key);

但是当调用代码时,我收到错误“第一行代码的‘entityType’参数必须是‘EntityType’的实例”。

此时,代码被调用,管理器已加载“LibraryItemCategory”实体,并且我已使用 Visual Studio 确认实体类型短名称为“LibraryItemCategory”

任何人都可以建议代码中有什么问题或者我如何克服这个问题吗?

谢谢

标记

最佳答案

问题在于 EntityKey 构造函数的第一个参数必须是 EntityType 的实例,而不是类型的名称。 See the API doc .

因此,你会做这样的事情

var type = manager.metadataStore.getEntityType("LibraryItemCategory");
var key = new breeze.EntityKey(type, 1);
var entity = manager.getEntityByKey(key);

有点笨拙。

您可能想知道为什么EntityKey不接受类型名称并使用它来查找EntityType

嗯...它不能...因为EntityKey“类”无法发现您的EntityType;所有 EntityType 信息都保存在 MetadataStore 中……其中可能有很多。

我们必须从MetadataStore获取类型;在此示例中,我们从经理的 metadataStore 获取它。

p.s.:在调用此代码之前,您必须已填充 manager.metadataStore,无论是作为第一个查询的副作用隐式填充,还是显式填充为 when you call fetchMetadata .

关于javascript - 'entityType' 参数必须是 'EntityType' 的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25651107/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com