c# - 如何在 c# 中将字符串转换为 LiteDb.ObjectId,反之亦然
问题描述
public class TaskModel
{
[BsonId]
public ObjectId Id { get; set; }
public string Name { get; set; }
}
public class TaskViewModel
{
public string Id { get; set; }
public string Name { get; set; }
}
public class AutoMapperProfile : Profile
{
public AutoMapperProfile()
{
CreateMap<TaskViewModel, TaskModel>()
.ForMember(dest=>dest.Id,opt=>opt.MapFrom(src=>src.Id));
CreateMap<TaskModel,TaskViewModel>()
.ForMember(dest=>dest.Id,opt=>opt.MapFrom(src=>src.Id));
}
}
[Route("api/[controller]/[action]")]
[ApiController]
public class TaskController : ControllerBase
{
// POST: api/Task/Post
[HttpPost]
public IActionResult Post([FromForm] TaskViewModel taskViewModel)
{
taskModel.Id = taskViewModel.Id; //ERROR: Connot implicitly convert 'string' to 'LiteDB.ObjectId'
taskModel.Name = taskViewModel.name
}
}
我有 LiteDB.ObjectId = 602f9484a5a84e0bc31938a8,所以我需要将 LiteDB.ObjectId 转换为字符串和虎钳 cersa。在此先感谢您的帮助。
解决方案
尝试这个
将字符串转换为 ObjectId
taskModel.Id = new ObjectId (taskViewModel.Id);
将 ObjectId 转换为字符串
var id = taskModel.Id.ToString();
推荐阅读
- scala - 如何在将火花数据帧加载到数据库时获取估计时间
- ios - 如何使用 Amplify iOS (AppSync) 存储关系(一对多或多对一)数据?
- python-3.x - 尝试在 python ftp_tls 模块中启动命令时出现 eof 错误
- excel - 从 Excel 填写 Internet Explorer 表单
- java - 将 cmd 输出写入文件不适用于 Tomcat :(
- python - 如何在预测期间设置 --config config.ini?
- azure - 是否有内置角色允许对订阅中的所有内容执行所有者类型操作,但不允许对订阅本身进行操作
- react-native - 对 React Native 应用程序实现视频通话的最佳方法是什么?
- sql - ORACLE SQL Group 按财政年度
- python - Tensorflow NN没有给出任何合理的输出