Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Làm cách nào để nhận giá trị tiếp theo của chuỗi SQL Server trong Entity Framework?

Bạn có thể tạo một thủ tục được lưu trữ đơn giản trong SQL Server để chọn giá trị trình tự tiếp theo như sau:

CREATE PROCEDURE dbo.GetNextSequenceValue 
AS 
BEGIN
    SELECT NEXT VALUE FOR dbo.TestSequence;
END

và sau đó, bạn có thể nhập quy trình đã lưu trữ đó vào mô hình EDMX của mình trong Entity Framework và gọi quy trình đã lưu trữ đó và tìm nạp giá trị trình tự như sau:

// get your EF context
using (YourEfContext ctx = new YourEfContext())
{
    // call the stored procedure function import   
    var results = ctx.GetNextSequenceValue();

    // from the results, get the first/single value
    int? nextSequenceValue = results.Single();

    // display the value, or use it whichever way you need it
    Console.WriteLine("Next sequence value is: {0}", nextSequenceValue.Value);
}

Cập nhật: trên thực tế, bạn có thể bỏ qua thủ tục đã lưu trữ và chỉ chạy truy vấn SQL thô này từ ngữ cảnh EF của bạn:

public partial class YourEfContext : DbContext 
{
    .... (other EF stuff) ......

    // get your EF context
    public int GetNextSequenceValue()
    {
        var rawQuery = Database.SqlQuery<int>("SELECT NEXT VALUE FOR dbo.TestSequence;");
        var task = rawQuery.SingleAsync();
        int nextVal = task.Result;

        return nextVal;
    }
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tại sao việc sử dụng ký tự Dấu gạch dưới trong bộ lọc LIKE lại cho tôi tất cả kết quả?

  2. Cách tạo thêm câu lệnh cột cho tất cả các bảng trong cơ sở dữ liệu trong SQL Server - Hướng dẫn sử dụng SQL Server / T-SQL Phần 49

  3. Làm cách nào để thêm chuỗi có giá trị tăng tự động trong SQL Server?

  4. SqlBulkCopy từ một danh sách <>

  5. Tạo bảng bằng nén trong SQL Server (T-SQL)