में प्राथमिक कुंजी को मैन्युअल रूप से उत्पन्न करने का सबसे अच्छा तरीका क्या है एंटीटी फ्रेमवर्क 4.1 कोड में प्राथमिक कुंजी मैन्युअल रूप से उत्पन्न करने का सबसे अच्छा तरीका क्या है?एंटीटी फ्रेमवर्क 4.1 कोड प्रथम
मैं एएसपी.नेट एमवीसी 3 प्रोग्रामिंग कर रहा हूं और मैं एक भंडार पैटर्न का उपयोग करता हूं।
'Code First Class
Public Class Foo
<Key()>
<DatabaseGenerated(DatabaseGeneratedOption.None)>
Public Property iId As Integer
Public Property sBar As String
End Class
'Context Class
Public Class FooBarContext : Inherits DbContext
Public Property Foos As DbSet(Of Foo)
End Class
'Get the current Id
'Part of code in repository that stores Entity Foo.
Dim iCurrId as Integer = (From io In context.Foo
Select io.iId()).Max
Dim iNewId as Integer = iCurrId + 1
Foo.iId = iNewId
मेरे समूह है (हालांकि संभावना नहीं) है कि दो (या अधिक) उन एक ही समय में एक इकाई फू को बचाने की कोशिश करेंगे:
मैं वर्तमान में नीचे दिए गए कोड का उपयोग करके एक अनुक्रमिक क्रम में कुंजी उत्पन्न और इसलिए एक ही आईडी प्राप्त होगी और सम्मिलन विफल हो जाएगा।
क्या यह एक अच्छा तरीका है, या कोई बेहतर है?
कृपया यह नहीं कि मैं डेटाबेस उत्पन्न पहचान फ़ील्ड का उपयोग नहीं कर सकता (और नहीं)!
आपको पहचान का उपयोग क्यों नहीं करना है? –