我設計了一個簡單的類一樣,它不能被實例化:AWS DynamoDB對象持久化模型:我的類是不支持的,
[DynamoDBTable("MyTableName")]
public class MySimpleClass{
[DynamoDBHashKey]
public string Id { get; set; }
[DynamoDBProperty]
public DateTime TimeStamp { get; set; }
[DynamoDBProperty]
public string Message { get; set; }
public MySimpleClass(AnotherClass anotherClassMessage){
this.Id = anotherClassMessage.Id;
this.TimeStamp = anotherClassMessage.TimeStamp;
this.Message = anotherClassMessage.Message;
}
}
當我嘗試使用DynamoDBContext對象方面對我的DynamoDB表堅持使用的DynamoDB對象持久化模型轉換:
context.ToDocument(data)
它拋出異常下文E:
e.Message:類型myProject.myNameSpace.MySimpleClass不受支持,它不能被實例化
e.StackTrace:在Amazon.DynamoDBv2.DataModel.StorageConfig..ctor(的ITypeInfo targetTypeInfo) 在Amazon.DynamoDBv2.DataModel.ItemStorageConfig..ctor(的ITypeInfo targetTypeInfo) 在Amazon.DynamoDBv2.DataModel.ItemStorageConfigCache.CreateStorageConfig(類型鹼基類型,字符串actualTableName) 在Amazon.DynamoDBv2.DataModel.ItemStorageConfigCache.GetConfig(類型類型,DynamoDBFlatConfig flatConfig,布爾conversionOnly) 在Amazon.DynamoDBv2.DataModel.DynamoDBContext.ObjectToItemStorage(對象toStore,類型的objectType,布爾keysOnly,DynamoDBFlatConfig flatConfig) 在Amazon.DynamoDBv2.DataModel.DynamoDBContext.ObjectToItemStorage [T](T toStore,布爾keysOnly,DynamoDBFlatConfig flatConfig) 亞馬遜。 DynamoDBv2.DataModel.DynamoDBContext.ToDocument [T](T值,DynamoDBOperationConfig operationConfig) at Amazon.DynamoDBv2.DataModel.DynamoDBContext.ToDocument [T](T value) at myProject4PersistanceOnDynamo.DynamoTableWrapper.Persist [T](T data)in C:\ MyProject的\ myProject4PersistanceOnDynamo \ DynamoTableWrapper.cs:線101(這意味着context.ToDocument(數據))
e.Source:AWSSDK.DynamoDBv2(版本:3.3.0.0 |運行版本:v4.0.30319)
我myProject4PersistanceOnDynamo.DynamoTableWrapper.Persist [T](T數據):
public void Persist<T>(T data)
{
// Client is a AmazonDynamoDBClient object with correct credentials
private DynamoDBContext context = new DynamoDBContext(Client)
try
{
var doc = context.ToDocument(data);
Table.PutItem(doc);
}
catch (Exception e)
{
throw e;
}
}
我檢查的文件上這個page,這other page,它似乎並不我使用了一個forbbiden對象。任何想法發生了什麼錯誤?
這裏瘋狂的猜測(我不使用C#)。難道是因爲這個類沒有一個帶有id,message和timestamp的簡單構造函數,所以它不能從這些值單獨實例化? – jarmod