मेरी सभी इकाइयों में संपत्ति आईडी है। डेटाबेस में मेरे सभी टेबलों में प्राथमिक कुंजी के रूप में स्वत: जेनरेट पूर्णांक पहचान आईडी है।ईएफ जेनेरिक रिपोजिटरी नई डाली गई जेनेरिक इकाई से आईडी प्राप्त करें
मेरे पास संस्थाएं बनाने के लिए सामान्य विधि है।
क्या डेटाबेस में डाली गई इकाई के बाद इकाई आईडी प्राप्त करने का कोई तरीका है?
public override int Create<T>(T entity)
{
string entitySet = GetEntitySetName<T>();
_context.AddObject(entitySet, entity);
_context.SaveChanges();
return <Id Here>; //TODO Return Id here
}
सरल (सामान्य नहीं) भंडार में मैं सिर्फ Entity.Id वापस आ सकते हैं, लेकिन कैसे सामान्य भंडार में समान व्यवहार प्राप्त करने के लिए? मेरे पास उन सभी इकाइयों के लिए आधार इकाई वर्ग हो सकता है जिनमें int संपत्ति आईडी शामिल है लेकिन क्या यह विरासत को लागू किए बिना इसे काम करने का कोई तरीका है?
क्या savechanges को कॉल करने से पहले आईडी प्राप्त करना संभव है? – Jeroen
@Jeroen ऐसा करने के दो तरीके हैं, यदि आप उस मामले में पीके के रूप में int का उपयोग करना चाहते हैं तो पहले आपको डेटाबेस द्वारा जेनरेट किया गया नया आईडी प्राप्त करने के लिए खाली रिकॉर्ड डालना होगा, अन्यथा आप पीआई के रूप में ग्रिड का उपयोग कर सकते हैं, उस स्थिति में Guid.NewGuid() – Kuncevic
पर कॉल करके पीके के सीधे अपने कोड में उत्पन्न कर सकते हैं कृपया अपने 'बनाएं()' फ़ंक्शन को कॉल करने के तरीके को दिखाएं जो पीके मान वापस कर देगा। धन्यवाद –