2

所以想象以下模型:

class ComplexTypeA
{
    public string ComplexPropertyA
}

class ParentTypeA
{
    public string ParentPropertyA
    public ComplextTypeA ParentPropertyB
}

现在进入客户端的微风世界,假设由于各种原因我需要创建一个 ComplextTypeA 和“附加”的实例(我知道它不是附加的,它是复制值,但想不出另一个更好的词)后来它变成了我单独创建的 ParentTypeA 的一个实例。

简而言之,最好的方法是什么?我已经设法实现它,但目前,它是这样的:

manager.metadataStore.getEntityType('ParentTypeA').complexProperties[0].dataType.createInstance()

如果这是正确的方法,那就酷,我会给自己一颗金星。虽然我很担心文档让它看起来容易多了,而且我刚刚找到了一种新的创造性方法来让自己在脚下开枪。

这实际上有点不正确,您可以使用该complexType.createInstance方法创建 complexType 的“未绑定”实例,但是当您分配它时,您只是将其值复制到现有实例上。

谢谢!

4

1 回答 1

2

请参阅 ComplexType.createInstance 方法:ComplexType api

一个示例可能如下所示:

    // The MetadataStore.getEntityType method returns both EntityTypes and ComplexTypes.
    var locationType = myEntityManager.metadataStore.getEntityType("Location");
    // creates a newLocation complex object with all default values
    var newLocation = locationType.createInstance();
    // or create a fully fleshed out version.
    //  var newLocation = locationType.createInstance( { city: "San Francisco", street: "111 Main Street", state: "CA" });         
于 2013-07-09T18:11:42.573 回答