Ari*_*MAZ 7 c# asp.net-mvc amazon-web-services
我正在尝试在我的MVC .net项目中使用Amazon AWS中的DynamoDB.我也在尝试做一个Business-DataAccess-Model分层项目.
我有一个GenericDataRepository类,它实现了Add()功能.
我正在向Add()发送一个T对象,我想动态地将它转换为亚马逊的Document对象.我怎么能这样做,最佳做法是什么?
public void Add(T entity)
{
if (entity == null)
return;
var doc = new Document();
// Convert entity to Document automatically
doc["Title"] = entity.Title;
doc["Body"] = entity.Body;
doc["Author"] = entity.Author;
// Convert entity to Document automatically
.....
.....
.....
}
Run Code Online (Sandbox Code Playgroud)
在aws dynamo db SDK的最新版本中。支持此功能,您可以轻松实现目标。简单快速
public Document Add <T>(T entity, IAmazonDynamoDB dbClient)
{
Amazon.DynamoDBv2.DataModel.DynamoDBContext db = new Amazon.DynamoDBv2.DataModel.DynamoDBContext(dbClient);
Document document = db.ToDocument(entity);
return document;
}
Run Code Online (Sandbox Code Playgroud)
您可以使用反射来动态填充文档:
public void Add(T entity)
{
if (entity == null)
return;
var doc = new Document();
entity.GetType().GetProperties().ToList().ForEach(x => doc[x.Name] = x.GetValue(entity));
...
}
Run Code Online (Sandbox Code Playgroud)
小智 5
我想你可以使用Json.net将你的对象序列化为json,然后根据他们的文档创建dynamoDb文档:
var jsonText = JsonConvert.SerializeObject(entity, Formatting.Indented);
var item = Document.FromJson(jsonText);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2568 次 |
最近记录: |