Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.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# .NET OData Web api_C#_.net_Visual Studio_Asp.net Web Api_Odata - Fatal编程技术网

C# .NET OData Web api

C# .NET OData Web api,c#,.net,visual-studio,asp.net-web-api,odata,C#,.net,Visual Studio,Asp.net Web Api,Odata,我有两种方法使用实体框架生成的模型。我找不到什么时候用,为什么用 方法1 ODataQueryOptions<Key_Result> options (Passed as function argument) private ODataQuerySettings settings = new ODataQuerySettings(); IQueryable<Key_Result> result; try {

我有两种方法使用实体框架生成的模型。我找不到什么时候用,为什么用

  • 方法1

     ODataQueryOptions<Key_Result> options (Passed as function argument)
    
     private ODataQuerySettings settings = new ODataQuerySettings();
    
     IQueryable<Key_Result> result;
                try
                {
    
            result = options.ApplyTo(DataAccessFunction.Key(keyIds), settings) as IQueryable<Key_Result>;
    
                }
    
    ODataQueryOptions选项(作为函数参数传递)
    专用ODataQuerySettings设置=新ODataQuerySettings();
    可预测的结果;
    尝试
    {
    结果=options.ApplyTo(DataAccessFunction.Key(keyIds),settings)作为IQueryable;
    }
    
  • 方法2

            IQueryable<Log> result;
    
            try
            {
                result = AccessModel.Log;
    
            }
    
    IQueryable结果;
    尝试
    {
    结果=AccessModel.Log;
    }
    
  • 到目前为止,我在代码中使用了它们,但不知道什么是正确的,也不知道为什么两者都被使用。我也找不到任何帮助我的材料

    另外,我在Odata端点中使用的第一个端点是使用sql中的表值函数创建的,而第二个端点是使用简单的表和视图创建的


    但若实体框架是一致的,那个么就不重要了。我应该能够交替使用这两种方法。它们是否可以互换使用,有什么区别使它们在一种情况下(表值函数)首选,而在另一种情况下(表、视图)不首选。

    两者都可以使用,但都有不同的用途。如果我的设置参数,如空传播、稳定排序或页面大小必须设置,我可以使用方法1


    但是,设置页面大小等也可以在没有此功能的情况下完成。方法2是最简单的,但不处理任何页面大小调整或空传播等。

    两者都可以使用,但都有不同的用途。如果我的设置参数,如空传播、稳定排序或页面大小必须设置,我可以使用方法1


    但是,设置页面大小等也可以在没有此功能的情况下完成。方法2是最简单的,但不处理任何页面大小调整或空传播等问题。

    您的问题是什么?@QualityCatalyst plz请参阅编辑。@QualityCatalyst我们可以互换使用这两种方法,但为什么也使用第一种方法?它与第二种方法有什么不同?您的问题是什么?@QualityCatalyst plz请参阅编辑。@QualityCatalyst我们可以两者交替使用,但为什么第一个也被使用?它与第二个有什么不同?你的问题是什么?@QualityCatalyst请看编辑。@QualityCatalyst我们可以两者交替使用,但为什么第一个也被使用?它与第二个有什么不同?