आप SQL सर्वर में एक साधारण संग्रहीत कार्यविधि बना सकते हैं जो इस तरह अगले अनुक्रम मान का चयन करती है:
CREATE PROCEDURE dbo.GetNextSequenceValue
AS
BEGIN
SELECT NEXT VALUE FOR dbo.TestSequence;
END
और फिर आप उस संग्रहीत कार्यविधि को Entity Framework में अपने EDMX मॉडल में आयात कर सकते हैं, और उस संग्रहीत कार्यविधि को कॉल कर सकते हैं और इस तरह अनुक्रम मान प्राप्त कर सकते हैं:
// 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);
}
अपडेट करें: वास्तव में, आप संग्रहीत कार्यविधि को छोड़ सकते हैं और इस कच्ची SQL क्वेरी को अपने EF संदर्भ से चला सकते हैं:
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;
}
}