Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何通过OData隐藏EF上下文数据库模式?_C#_Asp.net Core_Odata_Entity Framework Core - Fatal编程技术网

C# 如何通过OData隐藏EF上下文数据库模式?

C# 如何通过OData隐藏EF上下文数据库模式?,c#,asp.net-core,odata,entity-framework-core,C#,Asp.net Core,Odata,Entity Framework Core,我在一个AspNetCore api中使用Microsoft.AspNetCore.OData 7.0.0-beta1 我们的EF上下文当前反映了DB模式(遗留问题),但是,我们通过标准API返回给客户机的模型与实体不同。它们只返回字段的子集,属性的命名通常与列的命名不同 有人遇到过同样的问题吗?如果是这样,你的解决方案是什么 目前,我认为我们最好、最简单的解决方案(但由于我们的DB模式非常庞大,仍然有很多工作要做)是创建一个新的\单独的EF上下文和实体,以反映我们如何不向客户公开OData模式

我在一个AspNetCore api中使用Microsoft.AspNetCore.OData 7.0.0-beta1

我们的EF上下文当前反映了DB模式(遗留问题),但是,我们通过标准API返回给客户机的模型与实体不同。它们只返回字段的子集,属性的命名通常与列的命名不同

有人遇到过同样的问题吗?如果是这样,你的解决方案是什么

目前,我认为我们最好、最简单的解决方案(但由于我们的DB模式非常庞大,仍然有很多工作要做)是创建一个新的\单独的EF上下文和实体,以反映我们如何不向客户公开OData模式并使用它

有什么想法吗?

我会“创建一个新的\单独的EF上下文和实体,反映我们希望如何向[您的]客户机公开OData模式并使用它。”如果是1-1实体到表,您可以通过模型中的映射配置或数据库中的一组视图来实现这一点。如果您需要更实质性的模式转换,您可能必须使用视图并映射到这些视图