加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何动态地将T对象转换为Amazon DynamoDB Document

发布时间:2020-12-15 04:19:35 所属栏目:百科 来源:网络整理
导读:我正在尝试在我的MVC .net项目中使用Amazon AWS中的DynamoDB.我也在尝试做一个Business-DataAccess-Model分层项目. 我有一个GenericDataRepository类,它实现了Add()功能. 我正在向Add()发送一个T对象,我想动态地将它转换为亚马逊的Document对象.我怎么能这样
我正在尝试在我的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


    .....
    .....       
    .....
}

解决方法

您可以使用反射来动态填充文档:
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));
  ...
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读