breezejs非映射属性投影在更新后抛出错误

时间:2013-12-19 22:55:30

标签: entity-framework odata breeze

我正在使用Breezejs和Entity Framework,我有一些实体,我使用NotMapped属性添加了一些非映射属性。在Web API和OData的最新更新之前,我能够对非映射属性进行投影,但自上次更新Web Api和OData以来,我收到了错误。

以下是更多详情。

假设我有一个包含属性OrderId,Total等的实体订单

对于这个实体,我添加了一个名为OrderDisplayName的非映射属性,并添加了数据注释属性[NotMapped]。

现在,在客户端,我通过执行此操作将此属性注册到Breeze

                var type = store.getEntityType("Order");
                if (type) {
                    var mappedOrderDisplayNameProperty = new breeze.DataProperty({
                        dataType: breeze.DataType.String,
                        defaultValue: null,
                        isNullable: true,
                        isPartOfKey: false,
                        maxLength: null,
                        name: "orderDisplayName",
                        nameOnServer: "OrderDisplayName"
                    });


                    type.dataProperties = Enumerable.from(type.dataProperties).where(function (up) {
                        return up.name != "orderDisplayName";
                    }).toArray();

                    type.dataProperties.push(mappedOrderDisplayNameProperty);


                    type.unmappedProperties = Enumerable.from(type.unmappedProperties).where(function (up) {
                        return up.name != "orderDisplayName";
                    }).toArray();
                }

现在,我正在尝试使用像这样的Breezejs对几个属性进行投影

var query = breeze.EntityQuery.from("Orders").withParameters({ keys: keys}).select("OrderId, OrderDisplayName");


                this.execeuteQueryAsync(query).then(function (promiseData) {

                    var mappings = promiseData.results;

                    });

我不断从BreezeQueryableAttribute的ValidateQuery方法中得到错误

在“订单”类型上找不到名为“OrderDisplayName”的属性。

在我对Odata和Web API(2)进行更新之前,这曾经工作正常。

有人可以让我知道我需要更改什么,或者这是否是更新的已知问题?

感谢。

0 个答案:

没有答案