【问题标题】:Client -Breeze, create complex-type propertyClient -Breeze,创建复杂类型的属性
【发布时间】:2014-05-19 10:52:38
【问题描述】:

我在 Durandal-project 工作并使用 Breeze-Entities。

在 Breeze 中,您可以赋予实体类型、复杂类型的属性。

我在服务器微风实体中做到了,但不知道如何在客户端实体中做到这一点。

这是我在服务器实体中的代码:

      function addEmployeeType(store) {
        store.addEntityType({
            shortName: "EmployeeDTO",
            namespace: "myServer.Entities",
            autoGeneratedKeyType: AutoGeneratedKeyType.Identity,
            dataProperties: {
                Emp_no: { dataType: DataType.Int32, isNullable: false, isPartOfKey: true },
                employeeBaseData: {
                    name: "employeeBaseData",
                    complexTypeName: "EmployeeBaseDTO:#myServer.Entities",
                    isNullable: false,
                    isPartOfKey: false
                } 
        });
        store.registerEntityTypeCtor("EmployeeDTO", null, employeeInit);
    }


    function addEmployeeBaseDataType(store) {
        store.addEntityType({
            shortName: "EmployeeBaseDTO",
            namespace: "myServer.Entities",
            isComplexType: true,
            dataProperties: {
                name: { dataType: DataType.String, isNullable: true, isPartOfKey: false, validators: [Validator.required(),validationHelper.numeric()] }
            }
        });
        store.registerEntityTypeCtor("EmployeeBaseDTO", null, null);
    }

这是我的代码不起作用-客户端代码:

   function addReportType() {
        store.addEntityType({
            shortName: 'Report',
            autoGeneratedKeyType: AutoGeneratedKeyType.Identity,
            dataProperties: {
                key:{ dataType: DataType.Int32, isNullable: false, isPartOfKey: true },
                dateArea: {
                    name: "dateArea",
                    complexTypeName: "dateArea",
                    isNullable: false,
                    isPartOfKey: false
                }
            }
        });
        store.registerEntityTypeCtor('Report', null, ReportInit);

    }

 function addReportDateAreaType() {
        store.addEntityType({
            shortName: "dateArea",               
            isComplexType: true,
            dataProperties: {
                fromDate: { dataType: DataType.Date, isNullable: true, isPartOfKey: false },
                toDate: { dataType: DataType.Date, isNullable: true, isPartOfKey: false }
            }
        });
        store.registerEntityTypeCtor('dateArea', null, dateAreaInit);
    }

我知道我的代码不正确。

当我尝试创建 ReportType 的实例时,我接受:“无法获取未定义或空引用的属性 '_createInstanceCore'”。

那么为客户端微风实体创建复杂类型属性的正确方法是什么?

【问题讨论】:

    标签: javascript breeze


    【解决方案1】:

    在 complexType 名称中添加 ':#'。 这意味着,而不是写作:

       complexTypeName: "dateArea",
    

    你需要写:

        complexTypeName: "dateArea:#",
    

    【讨论】:

    • 或者,更好的是,为ReportdataArea 类型定义属性namespace: xxxx
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-10
    • 1970-01-01
    • 2011-02-19
    相关资源
    最近更新 更多