想象一下以下模型:
class ComplexTypeA
{
public string ComplexPropertyA
}
class ParentTypeA
{
public string ParentPropertyA
public ComplextTypeA ParentPropertyB
}
现在进入客户端的微风世界,假设由于各种原因我需要创建一个ComplextTypeA和'attach'的实例(我知道它没有附加,它是复制值,但不能想到另一个更好的词)它稍后是我单独创建的ParentTypeA实例。
简单地说,最好的方法是什么?我已经设法实现了它,但此刻,它是这样的:
manager.metadataStore.getEntityType('ParentTypeA').complexProperties[0].dataType.createInstance()
如果这是正确的方法,那么很酷,我会给自己一个金星。我很担心,虽然文档让它看起来容易得多,但我刚刚找到了一种新的创造性的方式来拍摄自己。
这实际上有点不正确,你可以创建'未绑定' 具有
complexType.createInstance
方法的complexType的实例 但是当你分配它时,你只是将它的值复制到一个 现有实例。
谢谢!
答案 0 :(得分: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" });