breeze-entity-generator
Version:
Generate TypeScript modules for entities from Breeze metadata
593 lines (592 loc) • 15 kB
JSON
{
"structuralTypes": [
{
"shortName": "Location",
"namespace": "Models",
"isComplexType": true,
"dataProperties": [
{
"nameOnServer": "City",
"dataType": "String",
"maxLength": 60,
"validators": [
{
"maxLength": 60,
"name": "maxLength"
}
]
},
{
"nameOnServer": "Region",
"dataType": "String",
"maxLength": 15,
"validators": [
{
"maxLength": 15,
"name": "maxLength"
}
]
}
]
},
{
"shortName": "BaseCustomer",
"namespace": "NorthwindModel.Models",
"autoGeneratedKeyType": "Identity",
"isAbstract": true,
"isComplexType": false,
"dataProperties": [
{
"dataType": "Int32",
"isPartOfKey": true,
"isNullable": false,
"nameOnServer": "Id",
"validators": [
{
"name": "required"
},
{
"name": "int32"
}
]
},
{
"dataType": "String",
"isNullable": false,
"maxLength": 40,
"nameOnServer": "FirstName",
"validators": [
{
"name": "required"
},
{
"maxLength": 40,
"name": "maxLength"
}
]
},
{
"dataType": "String",
"isNullable": false,
"maxLength": 40,
"nameOnServer": "LastName",
"validators": [
{
"name": "required"
},
{
"maxLength": 40,
"name": "maxLength"
}
]
},
{
"dataType": "String",
"isNullable": true,
"maxLength": 20,
"nameOnServer": "Phone",
"validators": [
{
"maxLength": 20,
"name": "maxLength"
}
]
}
],
"navigationProperties": []
},
{
"shortName": "Customer",
"namespace": "NorthwindModel.Models",
"baseTypeName": "BaseCustomer:#NorthwindModel.Models",
"autoGeneratedKeyType": "Identity",
"defaultResourceName": "Customer",
"isComplexType": false,
"dataProperties": [
{
"dataType": "String",
"isNullable": true,
"maxLength": 40,
"nameOnServer": "City",
"validators": [
{
"maxLength": 40,
"name": "maxLength"
}
]
},
{
"dataType": "String",
"isNullable": true,
"maxLength": 40,
"nameOnServer": "Country",
"validators": [
{
"maxLength": 40,
"name": "maxLength"
}
]
}
],
"navigationProperties": [
{
"entityTypeName": "Order:#NorthwindModel.Models",
"isScalar": false,
"associationName": "NorthwindModel.Models.Order_NorthwindModel.Models.Customer_Customer",
"invForeignKeyNamesOnServer": [
"CustomerId"
],
"nameOnServer": "Orders",
"validators": []
}
]
},
{
"shortName": "Order",
"namespace": "NorthwindModel.Models",
"autoGeneratedKeyType": "Identity",
"defaultResourceName": "Order",
"isComplexType": false,
"dataProperties": [
{
"dataType": "Int32",
"isPartOfKey": true,
"isNullable": false,
"nameOnServer": "Id",
"validators": [
{
"name": "required"
},
{
"name": "int32"
}
]
},
{
"dataType": "Int32",
"isNullable": false,
"nameOnServer": "CustomerId",
"validators": [
{
"name": "required"
},
{
"name": "int32"
}
]
},
{
"dataType": "DateTime",
"isNullable": false,
"nameOnServer": "OrderDate",
"validators": [
{
"name": "required"
},
{
"name": "date"
}
]
},
{
"dataType": "String",
"isNullable": true,
"maxLength": 10,
"nameOnServer": "OrderNumber",
"validators": [
{
"maxLength": 10,
"name": "maxLength"
}
]
},
{
"dataType": "Decimal",
"isNullable": true,
"nameOnServer": "TotalAmount",
"validators": [
{
"name": "number"
}
]
}
],
"navigationProperties": [
{
"entityTypeName": "Customer:#NorthwindModel.Models",
"isScalar": true,
"associationName": "NorthwindModel.Models.Order_NorthwindModel.Models.Customer_Customer",
"foreignKeyNamesOnServer": [
"CustomerId"
],
"nameOnServer": "Customer",
"validators": []
},
{
"entityTypeName": "OrderItem:#NorthwindModel.Models",
"isScalar": false,
"associationName": "NorthwindModel.Models.OrderItem_NorthwindModel.Models.Order_Order",
"invForeignKeyNamesOnServer": [
"OrderId"
],
"nameOnServer": "OrderItems",
"validators": []
}
]
},
{
"shortName": "OrderItem",
"namespace": "NorthwindModel.Models",
"autoGeneratedKeyType": "Identity",
"defaultResourceName": "OrderItem",
"isComplexType": false,
"dataProperties": [
{
"dataType": "Int32",
"isPartOfKey": true,
"isNullable": false,
"nameOnServer": "Id",
"validators": [
{
"name": "required"
},
{
"name": "int32"
}
]
},
{
"dataType": "Int32",
"isNullable": false,
"nameOnServer": "OrderId",
"validators": [
{
"name": "required"
},
{
"name": "int32"
}
]
},
{
"dataType": "Int32",
"isNullable": false,
"nameOnServer": "ProductId",
"validators": [
{
"name": "required"
},
{
"name": "int32"
}
]
},
{
"dataType": "Int32",
"isNullable": false,
"nameOnServer": "Quantity",
"validators": [
{
"name": "required"
},
{
"name": "int32"
}
]
},
{
"dataType": "Decimal",
"isNullable": false,
"nameOnServer": "UnitPrice",
"validators": [
{
"name": "required"
},
{
"name": "number"
}
]
}
],
"navigationProperties": [
{
"entityTypeName": "Order:#NorthwindModel.Models",
"isScalar": true,
"associationName": "NorthwindModel.Models.OrderItem_NorthwindModel.Models.Order_Order",
"foreignKeyNamesOnServer": [
"OrderId"
],
"nameOnServer": "Order",
"validators": []
},
{
"entityTypeName": "Product:#NorthwindModel.Models",
"isScalar": true,
"associationName": "NorthwindModel.Models.OrderItem_NorthwindModel.Models.Product_Product",
"foreignKeyNamesOnServer": [
"ProductId"
],
"nameOnServer": "Product",
"validators": []
}
]
},
{
"shortName": "Product",
"namespace": "NorthwindModel.Models",
"autoGeneratedKeyType": "Identity",
"defaultResourceName": "Product",
"isComplexType": false,
"dataProperties": [
{
"dataType": "Int32",
"isPartOfKey": true,
"isNullable": false,
"nameOnServer": "Id",
"validators": [
{
"name": "required"
},
{
"name": "int32"
}
]
},
{
"dataType": "Boolean",
"isNullable": false,
"nameOnServer": "IsDiscontinued",
"validators": [
{
"name": "required"
},
{
"name": "bool"
}
]
},
{
"dataType": "String",
"isNullable": true,
"maxLength": 30,
"nameOnServer": "Package",
"validators": [
{
"maxLength": 30,
"name": "maxLength"
}
]
},
{
"dataType": "String",
"isNullable": false,
"maxLength": 50,
"nameOnServer": "ProductName",
"validators": [
{
"name": "required"
},
{
"maxLength": 50,
"name": "maxLength"
}
]
},
{
"dataType": "Int32",
"isNullable": false,
"nameOnServer": "SupplierId",
"validators": [
{
"name": "required"
},
{
"name": "int32"
}
]
},
{
"dataType": "NorthwindModel.Models.ProductColor",
"enumType": "ProductColor:#NorthwindModel.Models",
"isNullable": false,
"nameOnServer": "Color",
"validators": [
{
"name": "required"
}
]
},
{
"dataType": "Decimal",
"isNullable": true,
"nameOnServer": "UnitPrice",
"validators": [
{
"name": "number"
}
]
}
],
"navigationProperties": [
{
"entityTypeName": "OrderItem:#NorthwindModel.Models",
"isScalar": false,
"associationName": "NorthwindModel.Models.OrderItem_NorthwindModel.Models.Product_Product",
"invForeignKeyNamesOnServer": [
"ProductId"
],
"nameOnServer": "OrderItems",
"validators": []
},
{
"entityTypeName": "Supplier:#NorthwindModel.Models",
"isScalar": true,
"associationName": "NorthwindModel.Models.Product_NorthwindModel.Models.Supplier_Supplier",
"foreignKeyNamesOnServer": [
"SupplierId"
],
"nameOnServer": "Supplier",
"validators": []
}
]
},
{
"shortName": "Supplier",
"namespace": "NorthwindModel.Models",
"autoGeneratedKeyType": "Identity",
"defaultResourceName": "Supplier",
"isComplexType": false,
"dataProperties": [
{
"dataType": "Int32",
"isPartOfKey": true,
"isNullable": false,
"nameOnServer": "Id",
"validators": [
{
"name": "required"
},
{
"name": "int32"
}
]
},
{
"nameOnServer": "Location",
"complexTypeName": "Location:#Models",
"isNullable": false,
"validators": [
{
"name": "required"
}
]
},
{
"dataType": "String",
"isNullable": false,
"maxLength": 40,
"nameOnServer": "CompanyName",
"validators": [
{
"name": "required"
},
{
"maxLength": 40,
"name": "maxLength"
}
]
},
{
"dataType": "String",
"isNullable": true,
"maxLength": 50,
"nameOnServer": "ContactName",
"validators": [
{
"maxLength": 50,
"name": "maxLength"
}
]
},
{
"dataType": "String",
"isNullable": true,
"maxLength": 40,
"nameOnServer": "ContactTitle",
"validators": [
{
"maxLength": 40,
"name": "maxLength"
}
]
},
{
"dataType": "String",
"isNullable": true,
"maxLength": 40,
"nameOnServer": "Country",
"validators": [
{
"maxLength": 40,
"name": "maxLength"
}
]
},
{
"dataType": "String",
"isNullable": true,
"maxLength": 30,
"nameOnServer": "Fax",
"validators": [
{
"maxLength": 30,
"name": "maxLength"
}
]
},
{
"dataType": "String",
"isNullable": true,
"maxLength": 30,
"nameOnServer": "Phone",
"validators": [
{
"maxLength": 30,
"name": "maxLength"
}
]
}
],
"navigationProperties": [
{
"entityTypeName": "Product:#NorthwindModel.Models",
"isScalar": false,
"associationName": "NorthwindModel.Models.Product_NorthwindModel.Models.Supplier_Supplier",
"invForeignKeyNamesOnServer": [
"SupplierId"
],
"nameOnServer": "Products",
"validators": []
}
]
}
],
"enumTypes": [
{
"shortName": "ProductColor",
"namespace": "NorthwindModel.Models",
"values": [
"Red",
"Green",
"Blue",
"Yellow"
],
"ordinals": [
0,
1,
2,
4
]
}
]
}