首页 > 解决方案 > 精简模型以查看翻译

问题描述

我正在寻求有关如何最好地将模型映射到我在 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...
}

我基本上已经遇到了所有情况,只是一遍又一遍地改变了我的对象。显得非常乏味。什么是最小化翻译和映射的最佳实践。

谢谢。

标签: c#modelmappingviewmodel

解决方案


推荐阅读