私は Durandal プロジェクトで作業しており、Breeze オブジェクトを使用しています。
いくつかの複合型を含む微風モデルがあります。
サーバー側では、複合型のプロパティの一部を null に設定しました。
しかし、オブジェクトがクライアント側に到着すると、null に設定した複合型には複合型のオブジェクトへの参照が含まれます。null にする必要があります。
私の主なモデルパターン:
function addEmployeeType(store) {
store.addEntityType({
shortName: "EmployeeDTO",
namespace: "myServer.Entities",
autoGeneratedKeyType: AutoGeneratedKeyType.Identity,
dataProperties: {
Emp_no1: { dataType: DataType.Int32, isNullable: false, isPartOfKey: true },
employeeBaseData: {
name: "employeeBaseData",
complexTypeName: "EmployeeBaseDTO:#myServer.Entities",
isNullable: false,
isPartOfKey: false
},
employeeTblData: {
name: "employeeTblData",
complexTypeName: "EmployeeTblDTO:#myServer.Entities",
isNullable: false
},
employeePersonalDetails: {
name: "employeePersonalDetails",
complexTypeName: "EmployeePersonalDetailsDTO:#myServer.Entities",
isNullable: true
},
employeeContacts: {
name: "EmployeeJobsDTO",
complexTypeName: "EmployeeJobsDTO:#myServer.Entities",
isNullable: true
}
}
});
store.registerEntityTypeCtor("EmployeeDTO", null, employeeInit);
}
サーバー側コード(C#、apiController を使用):
if (!EnablJobsData)
employeeData.employeeJobsData = null;
条件が真のときにそれが欲しいので、クライアント側で employeeData.employeeJobsData() - nullを返します。実は、そよ風の複雑なエンティティを返します。
ありがとう!