Incorrect syntax near 'OFFSET'. Invalid usage of the option NEXT in the FETCH statement “in Entity...





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







1















Here's my EF Core code:



 int page = 1, rowPerPage = 5;
int count = ctx.Specialty.Count();
int start = page * rowPerPage;

var Select = ctx.Specialty.OrderByDescending(u => u.IdS)
.Skip(start)
.Take(rowPerPage)
.AsEnumerable();


I am using SQL Server 2008 and Visual Studio 2017, and I installed SQL Server 2017 as well. My project is ASP.NET Core.



Error:




Incorrect syntax near 'OFFSET'. Invalid usage of the option NEXT in the FETCH statement




I think the problem is SQL Server 2008.



How can I tell my project to use SQL Server 2017?










share|improve this question

























  • Are you connecting to a SQL 2008 database or SQL 2017 database (check your connection string)?

    – mjwills
    Nov 17 '18 at 7:20













  • @mjwills SQL 2008

    – AlirezaAvini
    Nov 17 '18 at 7:22













  • You need to change your connection string to point to a SQL 2017 database.

    – mjwills
    Nov 17 '18 at 7:23











  • my connection string = optionsBuilder.UseSqlServer("Data Source=.;Initial Catalog=DBClinic;Integrated Security=SSPI;"); how I change it to SQL 2017?

    – AlirezaAvini
    Nov 17 '18 at 7:25








  • 1





    If you have SQL Server 2008 and 2017 on your system, at least one of them must be using an explicit instance name - just connect to that SQL Server instance using your connection string.

    – marc_s
    Nov 17 '18 at 8:32


















1















Here's my EF Core code:



 int page = 1, rowPerPage = 5;
int count = ctx.Specialty.Count();
int start = page * rowPerPage;

var Select = ctx.Specialty.OrderByDescending(u => u.IdS)
.Skip(start)
.Take(rowPerPage)
.AsEnumerable();


I am using SQL Server 2008 and Visual Studio 2017, and I installed SQL Server 2017 as well. My project is ASP.NET Core.



Error:




Incorrect syntax near 'OFFSET'. Invalid usage of the option NEXT in the FETCH statement




I think the problem is SQL Server 2008.



How can I tell my project to use SQL Server 2017?










share|improve this question

























  • Are you connecting to a SQL 2008 database or SQL 2017 database (check your connection string)?

    – mjwills
    Nov 17 '18 at 7:20













  • @mjwills SQL 2008

    – AlirezaAvini
    Nov 17 '18 at 7:22













  • You need to change your connection string to point to a SQL 2017 database.

    – mjwills
    Nov 17 '18 at 7:23











  • my connection string = optionsBuilder.UseSqlServer("Data Source=.;Initial Catalog=DBClinic;Integrated Security=SSPI;"); how I change it to SQL 2017?

    – AlirezaAvini
    Nov 17 '18 at 7:25








  • 1





    If you have SQL Server 2008 and 2017 on your system, at least one of them must be using an explicit instance name - just connect to that SQL Server instance using your connection string.

    – marc_s
    Nov 17 '18 at 8:32














1












1








1


1






Here's my EF Core code:



 int page = 1, rowPerPage = 5;
int count = ctx.Specialty.Count();
int start = page * rowPerPage;

var Select = ctx.Specialty.OrderByDescending(u => u.IdS)
.Skip(start)
.Take(rowPerPage)
.AsEnumerable();


I am using SQL Server 2008 and Visual Studio 2017, and I installed SQL Server 2017 as well. My project is ASP.NET Core.



Error:




Incorrect syntax near 'OFFSET'. Invalid usage of the option NEXT in the FETCH statement




I think the problem is SQL Server 2008.



How can I tell my project to use SQL Server 2017?










share|improve this question
















Here's my EF Core code:



 int page = 1, rowPerPage = 5;
int count = ctx.Specialty.Count();
int start = page * rowPerPage;

var Select = ctx.Specialty.OrderByDescending(u => u.IdS)
.Skip(start)
.Take(rowPerPage)
.AsEnumerable();


I am using SQL Server 2008 and Visual Studio 2017, and I installed SQL Server 2017 as well. My project is ASP.NET Core.



Error:




Incorrect syntax near 'OFFSET'. Invalid usage of the option NEXT in the FETCH statement




I think the problem is SQL Server 2008.



How can I tell my project to use SQL Server 2017?







c# asp.net sql-server-2008 asp.net-core entity-framework-core






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 19 '18 at 16:16









Cœur

19.4k10116155




19.4k10116155










asked Nov 17 '18 at 7:17









AlirezaAviniAlirezaAvini

249




249













  • Are you connecting to a SQL 2008 database or SQL 2017 database (check your connection string)?

    – mjwills
    Nov 17 '18 at 7:20













  • @mjwills SQL 2008

    – AlirezaAvini
    Nov 17 '18 at 7:22













  • You need to change your connection string to point to a SQL 2017 database.

    – mjwills
    Nov 17 '18 at 7:23











  • my connection string = optionsBuilder.UseSqlServer("Data Source=.;Initial Catalog=DBClinic;Integrated Security=SSPI;"); how I change it to SQL 2017?

    – AlirezaAvini
    Nov 17 '18 at 7:25








  • 1





    If you have SQL Server 2008 and 2017 on your system, at least one of them must be using an explicit instance name - just connect to that SQL Server instance using your connection string.

    – marc_s
    Nov 17 '18 at 8:32



















  • Are you connecting to a SQL 2008 database or SQL 2017 database (check your connection string)?

    – mjwills
    Nov 17 '18 at 7:20













  • @mjwills SQL 2008

    – AlirezaAvini
    Nov 17 '18 at 7:22













  • You need to change your connection string to point to a SQL 2017 database.

    – mjwills
    Nov 17 '18 at 7:23











  • my connection string = optionsBuilder.UseSqlServer("Data Source=.;Initial Catalog=DBClinic;Integrated Security=SSPI;"); how I change it to SQL 2017?

    – AlirezaAvini
    Nov 17 '18 at 7:25








  • 1





    If you have SQL Server 2008 and 2017 on your system, at least one of them must be using an explicit instance name - just connect to that SQL Server instance using your connection string.

    – marc_s
    Nov 17 '18 at 8:32

















Are you connecting to a SQL 2008 database or SQL 2017 database (check your connection string)?

– mjwills
Nov 17 '18 at 7:20







Are you connecting to a SQL 2008 database or SQL 2017 database (check your connection string)?

– mjwills
Nov 17 '18 at 7:20















@mjwills SQL 2008

– AlirezaAvini
Nov 17 '18 at 7:22







@mjwills SQL 2008

– AlirezaAvini
Nov 17 '18 at 7:22















You need to change your connection string to point to a SQL 2017 database.

– mjwills
Nov 17 '18 at 7:23





You need to change your connection string to point to a SQL 2017 database.

– mjwills
Nov 17 '18 at 7:23













my connection string = optionsBuilder.UseSqlServer("Data Source=.;Initial Catalog=DBClinic;Integrated Security=SSPI;"); how I change it to SQL 2017?

– AlirezaAvini
Nov 17 '18 at 7:25







my connection string = optionsBuilder.UseSqlServer("Data Source=.;Initial Catalog=DBClinic;Integrated Security=SSPI;"); how I change it to SQL 2017?

– AlirezaAvini
Nov 17 '18 at 7:25






1




1





If you have SQL Server 2008 and 2017 on your system, at least one of them must be using an explicit instance name - just connect to that SQL Server instance using your connection string.

– marc_s
Nov 17 '18 at 8:32





If you have SQL Server 2008 and 2017 on your system, at least one of them must be using an explicit instance name - just connect to that SQL Server instance using your connection string.

– marc_s
Nov 17 '18 at 8:32












2 Answers
2






active

oldest

votes


















1














There is a compatibility setting (UseRowNumberForPaging) for this which can be configured either in the DbContext itself:



    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
var coonectionString = "Data Source=localhost\MSSQLSERVER01;Initial Catalog=AppDb01;Integrated Security=True";
optionsBuilder.UseSqlServer(coonectionString, builder => builder.UseRowNumberForPaging());
}


Or as a part of the Startup:



    public void ConfigureServices(IServiceCollection services)
{
var coonectionString = "Data Source=localhost\MSSQLSERVER01;Initial Catalog=AppDb01;Integrated Security=True";
services.AddDbContext<AppDbContext>(options => options.UseSqlServer(coonectionString, builder => builder.UseRowNumberForPaging()));
}





share|improve this answer































    0














    sql server 2008 not support from my query



    solution:



    public class AppDbContext : DbContext
    {

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
    var coonectionString = "Data Source=localhost\MSSQLSERVER01;Initial Catalog=AppDb01;Integrated Security=True";
    optionsBuilder.UseSqlServer(coonectionString);
    }
    }


    Value connection string to the Target server
    and also inject the settings , The sample code is in the default ASP NET Core project format.






    share|improve this answer


























      Your Answer






      StackExchange.ifUsing("editor", function () {
      StackExchange.using("externalEditor", function () {
      StackExchange.using("snippets", function () {
      StackExchange.snippets.init();
      });
      });
      }, "code-snippets");

      StackExchange.ready(function() {
      var channelOptions = {
      tags: "".split(" "),
      id: "1"
      };
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function() {
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled) {
      StackExchange.using("snippets", function() {
      createEditor();
      });
      }
      else {
      createEditor();
      }
      });

      function createEditor() {
      StackExchange.prepareEditor({
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: true,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: 10,
      bindNavPrevention: true,
      postfix: "",
      imageUploader: {
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      },
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      });


      }
      });














      draft saved

      draft discarded


















      StackExchange.ready(
      function () {
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53349099%2fincorrect-syntax-near-offset-invalid-usage-of-the-option-next-in-the-fetch-st%23new-answer', 'question_page');
      }
      );

      Post as a guest















      Required, but never shown

























      2 Answers
      2






      active

      oldest

      votes








      2 Answers
      2






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      1














      There is a compatibility setting (UseRowNumberForPaging) for this which can be configured either in the DbContext itself:



          protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
      {
      var coonectionString = "Data Source=localhost\MSSQLSERVER01;Initial Catalog=AppDb01;Integrated Security=True";
      optionsBuilder.UseSqlServer(coonectionString, builder => builder.UseRowNumberForPaging());
      }


      Or as a part of the Startup:



          public void ConfigureServices(IServiceCollection services)
      {
      var coonectionString = "Data Source=localhost\MSSQLSERVER01;Initial Catalog=AppDb01;Integrated Security=True";
      services.AddDbContext<AppDbContext>(options => options.UseSqlServer(coonectionString, builder => builder.UseRowNumberForPaging()));
      }





      share|improve this answer




























        1














        There is a compatibility setting (UseRowNumberForPaging) for this which can be configured either in the DbContext itself:



            protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
        var coonectionString = "Data Source=localhost\MSSQLSERVER01;Initial Catalog=AppDb01;Integrated Security=True";
        optionsBuilder.UseSqlServer(coonectionString, builder => builder.UseRowNumberForPaging());
        }


        Or as a part of the Startup:



            public void ConfigureServices(IServiceCollection services)
        {
        var coonectionString = "Data Source=localhost\MSSQLSERVER01;Initial Catalog=AppDb01;Integrated Security=True";
        services.AddDbContext<AppDbContext>(options => options.UseSqlServer(coonectionString, builder => builder.UseRowNumberForPaging()));
        }





        share|improve this answer


























          1












          1








          1







          There is a compatibility setting (UseRowNumberForPaging) for this which can be configured either in the DbContext itself:



              protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
          {
          var coonectionString = "Data Source=localhost\MSSQLSERVER01;Initial Catalog=AppDb01;Integrated Security=True";
          optionsBuilder.UseSqlServer(coonectionString, builder => builder.UseRowNumberForPaging());
          }


          Or as a part of the Startup:



              public void ConfigureServices(IServiceCollection services)
          {
          var coonectionString = "Data Source=localhost\MSSQLSERVER01;Initial Catalog=AppDb01;Integrated Security=True";
          services.AddDbContext<AppDbContext>(options => options.UseSqlServer(coonectionString, builder => builder.UseRowNumberForPaging()));
          }





          share|improve this answer













          There is a compatibility setting (UseRowNumberForPaging) for this which can be configured either in the DbContext itself:



              protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
          {
          var coonectionString = "Data Source=localhost\MSSQLSERVER01;Initial Catalog=AppDb01;Integrated Security=True";
          optionsBuilder.UseSqlServer(coonectionString, builder => builder.UseRowNumberForPaging());
          }


          Or as a part of the Startup:



              public void ConfigureServices(IServiceCollection services)
          {
          var coonectionString = "Data Source=localhost\MSSQLSERVER01;Initial Catalog=AppDb01;Integrated Security=True";
          services.AddDbContext<AppDbContext>(options => options.UseSqlServer(coonectionString, builder => builder.UseRowNumberForPaging()));
          }






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Jan 15 at 14:34









          ElliottElliott

          2,00121426




          2,00121426

























              0














              sql server 2008 not support from my query



              solution:



              public class AppDbContext : DbContext
              {

              protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
              {
              var coonectionString = "Data Source=localhost\MSSQLSERVER01;Initial Catalog=AppDb01;Integrated Security=True";
              optionsBuilder.UseSqlServer(coonectionString);
              }
              }


              Value connection string to the Target server
              and also inject the settings , The sample code is in the default ASP NET Core project format.






              share|improve this answer






























                0














                sql server 2008 not support from my query



                solution:



                public class AppDbContext : DbContext
                {

                protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
                {
                var coonectionString = "Data Source=localhost\MSSQLSERVER01;Initial Catalog=AppDb01;Integrated Security=True";
                optionsBuilder.UseSqlServer(coonectionString);
                }
                }


                Value connection string to the Target server
                and also inject the settings , The sample code is in the default ASP NET Core project format.






                share|improve this answer




























                  0












                  0








                  0







                  sql server 2008 not support from my query



                  solution:



                  public class AppDbContext : DbContext
                  {

                  protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
                  {
                  var coonectionString = "Data Source=localhost\MSSQLSERVER01;Initial Catalog=AppDb01;Integrated Security=True";
                  optionsBuilder.UseSqlServer(coonectionString);
                  }
                  }


                  Value connection string to the Target server
                  and also inject the settings , The sample code is in the default ASP NET Core project format.






                  share|improve this answer















                  sql server 2008 not support from my query



                  solution:



                  public class AppDbContext : DbContext
                  {

                  protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
                  {
                  var coonectionString = "Data Source=localhost\MSSQLSERVER01;Initial Catalog=AppDb01;Integrated Security=True";
                  optionsBuilder.UseSqlServer(coonectionString);
                  }
                  }


                  Value connection string to the Target server
                  and also inject the settings , The sample code is in the default ASP NET Core project format.







                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited Dec 4 '18 at 8:13

























                  answered Nov 17 '18 at 13:33









                  AlirezaAviniAlirezaAvini

                  249




                  249






























                      draft saved

                      draft discarded




















































                      Thanks for contributing an answer to Stack Overflow!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid



                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.


                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function () {
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53349099%2fincorrect-syntax-near-offset-invalid-usage-of-the-option-next-in-the-fetch-st%23new-answer', 'question_page');
                      }
                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      Bressuire

                      Vorschmack

                      Quarantine