Entity framework core 是否有一种简单的方法将POCO实体转换为gRPC对象?

Entity framework core 是否有一种简单的方法将POCO实体转换为gRPC对象?,entity-framework-core,grpc,Entity Framework Core,Grpc,嗯,我有一个客户端应用程序,它必须与远程数据库进行通信。我们的想法是: 客户端(使用EF存储库的POCO实体)--->gRPC客户端-->gRPC服务-->存储库(EF和POCO实体) 我的存储库有CRUD操作和另一个业务逻辑。我知道,也许使用DDD更好,并且有一个单独的模型层和另一个存储库层,但在这种情况下,项目开始考虑存储库是主层,具有确保数据库中信息正确保存的逻辑。无论如何,对于这个问题,这并不重要 我的问题是,在gRPC中,我不能使用.NET对象,所以我必须将我的POCO实体转换为gRP

嗯,我有一个客户端应用程序,它必须与远程数据库进行通信。我们的想法是:

客户端(使用EF存储库的POCO实体)--->gRPC客户端-->gRPC服务-->存储库(EF和POCO实体)

我的存储库有CRUD操作和另一个业务逻辑。我知道,也许使用DDD更好,并且有一个单独的模型层和另一个存储库层,但在这种情况下,项目开始考虑存储库是主层,具有确保数据库中信息正确保存的逻辑。无论如何,对于这个问题,这并不重要

我的问题是,在gRPC中,我不能使用.NET对象,所以我必须将我的POCO实体转换为gRPC的消息

例如,我有以下POCOs类:

class Order
{
    long IDOrder;
    long IDClient

    Person Client;
}

class Client
{
    long IDClient;
    string Name;

    ICollection<Orders> Orders;
}
客户端类也是如此

这是一项非常手动的工作,而且如果导航属性属于具有其他导航属性的类型,则可能需要大量的工作,因为当我向存储库请求数据时,有时我会请求在2或3个级别中包含导航属性,因此,以这种方式将POCO转换为消息,并将消息转换为POCO,这可能是一项非常艰巨的工作

所以我想知道这是否真的是一条路,或者是否还有其他更好的选择

我在互联网上搜索了一些如何将entity core与gRPC结合使用的示例,但我只找到了一些非常简单的示例,其中他们没有使用带有导航属性的类,只发送一到两条消息,更多的示例是如何将数据从服务发送到客户端,以及如何实现将EF core与gRPC结合使用的解决方案

谢谢

class GrpcOrders
{
    static MessageOrder OrderToMessage(Orders paramOrder)
    {
        //Here I create a message and copy the data from the order to the message
    }

    static Order MessageToPoco(MessageOrder paramOrder)
    {
        //Here I create a POCO entitie and copy the data from the message to the order
    }
}