c# - 精简模型以查看翻译
问题描述
我正在寻求有关如何最好地将模型映射到我在 C# 中的视图的建议。
数据库设计者选择了使用蛇形大小写的 SQL 命名约定。
因此,表格可能如下所示:
Client
---------
Id
Client_Name
Client_Number
Is_Active
据我了解,在模型/属性中使用下划线并不是最好的标准,所以我的模型看起来像:
public class Client
{
public int Id { get; set; }
public int ClientNumber { get; set; }
public int ClientName { get; set; }
public boolean IsActive{ get; set; }
}
我正在使用 dapper 所以通常我只是像这样为列加上别名:
SELECT
Id As Id,
Client_Name AS ClientName,
Client_Number AS ClientNumber,
Is_Active AS IsActive
FROM Client
我不知道这是否是最好的方法,但它现在有效。目前,我已经翻译过一次。
现在我移动到视图。它是一个 api,所以通常它是 JSON,它使用 camelCase。
public JsonResult GetAll()
{
var clients = clients.GetAll();
JSON(client);
}
哪个发送
{
id: '0',
clientName: 'Client1',
clientNumber: '5555-55555'
isActive: true
}
所以,格式又被翻译了。
现在我需要发布到应用程序。
public JsonResult Add(AddClientViewModel addClientVM)
{
var client = new Client({
client.ClientName = addClientVM.clientName;
client.ClientNumber = addClientVM.clientNumber;
client.IsActive = addClientVM.isActive;
})
// Add client etc...
}
我基本上已经遇到了所有情况,只是一遍又一遍地改变了我的对象。显得非常乏味。什么是最小化翻译和映射的最佳实践。
谢谢。
解决方案
推荐阅读
- json - 如何使用 JQ 更改嵌套数组中的值?
- selenium - 如何在 log4j.xml 的帮助下每次在 selenium 中执行每个测试都生成新的日志文件
- r - R 的 rhandontable 模块的下拉列中的验证 isee
- c# - EF Core 无法加载具有可为空字符串值的实体
- java - SpringBoot返回一个字符串而不是一个呈现的html页面
- python - 在 tkinter 中定位自定义小部件
- python - python - 将一个类对象附加到另一个类中
- r - t_test 考虑一列单词而不是一列数字
- java - Stripe CardInputWidget 未在新更新中显示
- python - 组合两个 JSON 对象