3

和微风一起玩。这是一个代码:

var dataService = new breeze.DataService({
                    serviceName: "/api/articles",
                    hasServerMetadata: false
                });
                var ms = new breeze.MetadataStore();

                var manager = new breeze.EntityManager({
                    dataService: dataService,
                    metadataStore: ms
                });

                var query = new breeze.EntityQuery().from("Query");

                manager.executeQuery(query).then(function (data) {
                    // this fails
                    var articles = manager.executeQueryLocally(query);
                    console.log(articles);
                }).fail(function(e) {
                    alert(e);
                });

没有行var 文章 = manager.executeQueryLocally(query); 一切都好。它说“实体类型为空”。我想我需要添加实体类型但不确定如何添加?

4

2 回答 2

3

从 v 0.81.2 开始,现在有一个示例使用了没有服务器元数据的微风,针对内存中的服务器端数据存储运行。该示例称为 ToDo-NoEF,可从微风站点下载。

于 2013-01-03T01:53:44.507 回答
1

EntityType 信息可以通过 AddEntityType 方法添加到 metadataStore。metadataStore 最容易通过 EntityManager 的 metadataStore 属性访问。

我们还将在下周左右使用没有服务器元数据的微风添加示例。但现在...

这是一个将实体类型添加到 metadataStore 的简单示例。这只是部分示例,因为还需要添加其他相关类型才能完成它。

        var et = new EntityType({
            shortName: "Person",
            namespace: "Sample_WebApi.Models"
        });
        et.addProperty( new DataProperty({
            name: "personId",
            dataType: DataType.Int32,
            isNullable: false,
            isPartOfKey: true,
        }));
        et.addProperty(new DataProperty({
            name: "firstName",
            dataType: DataType.String,
            isNullable: false,
        }));
        et.addProperty(new DataProperty({
            name: "lastName",
            dataType: DataType.String,
            isNullable: false,
        }));
        et.addProperty(new DataProperty({
            name: "birthDate",
            dataType: DataType.DateTime,
            isNullable: true
        }));
        et.addProperty(new NavigationProperty({
            name: "meals",
            entityTypeName: "Meal",
            isScalar: false,
            associationName: "personMeals"
        }));
        metadataStore.addEntityType(et); 
于 2012-12-27T18:28:43.780 回答