在插入實體:Azure Table中string實體
{
PartitionKey: { _: '[email protected]', '$': 'Edm.String' },
RowKey: { _: 'a31d564b-20bc-4721-8b76-57d124967987', '$': 'Edm.String' },
filename: { _: 'file-foo', '$': 'Edm.String' }
}
它被檢索爲:
{
PartitionKey: { '$': 'Edm.String', _: '[email protected]' },
RowKey: { '$': 'Edm.String', _: 'a31d564b-20bc-4721-8b76-57d124967987' },
filename: { _: 'file-foo' },
Timestamp: { '$': 'Edm.DateTime', _: 2016-07-25T07:31:11.117Z },
'.metadata':
{ metadata: 'http://127.0.0.1:10002/devstoreaccount1/$metadata#UserJobs/@Element',
etag: 'W/"datetime\'2016-07-25T07%3A31%3A11.117Z\'"' }
}
注意,檢索到的實體的filename
沒有財產'$': 'Edm.String'
如果retrieveEntity()
選項autoResolveProperties
已設置,則filename
獲取屬性'$': 'Edm.String'
但是,由於documentation提到The logic for returning entity types can get complicated
,因此避開autoResolveProperties
選項會更安全。
該應用程序不需要自動檢測屬性。它只需要檢索明確插入的相同類型(Edm.String
)。
是否可以在不設置autoResolveProperties
的情況下執行此操作。
謝謝[@Gary Liu](http://stackoverflow.com/users/4989668/gary-liu-msft),我試了一下。從技術上講,它的工作原理,但也意味着額外的代碼來處理所有的屬性名稱 - 不可維護的源代碼,你不覺得嗎?現在一個解決方法是每當'$'丟失時檢測'typeof _'並確定它是否是一個字符串。我猜它類似於做'autoResolveProperties'。感謝您的回覆和鏈接。 –