Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

Oracle इकाई फ्रेमवर्क - कस्टम फ़ंक्शन को कॉल करें (EDIT_DISTANCE)

डेटाबेस फ़ंक्शंस और संग्रहीत प्रक्रियाओं को इकाई फ्रेमवर्क में मैप करने में सहायता के लिए एक शानदार लाइब्रेरी है।

Nuget पैकेज इंस्टॉल करें

- Install-Package EntityFramework.Functions

फंक्शन के लिए एक्सटेंशन मेथड्स बनाएं:

public static class OracleFunctions
{
   [Function(FunctionType.BuiltInFunction, "TO_NUMBER")]
   public static int? ToNumber(this string value) => Function.CallNotSupported<int?>();
}

इसे अपने EntityFramework प्रसंग पर मैप करें:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
   modelBuilder.Conventions.Add(new FunctionConvention(typeof(OracleFunctions)));
}

अपने LINQ प्रश्नों में अपने नए मैप किए गए "ToNumber ()" फ़ंक्शन को कॉल करें:

.FirstOrDefault(p => p.Id == "209706".ToNumber());

और अपने अंकल की तारीफ़ करते हैं।

दुर्भाग्य से, Oracle फ़ंक्शन के लिए जो एक अलग स्कीमा में रहता है, जैसे UTL_MATCH.EDIT_DISTANCE यह काम नहीं करेगा। आपको स्कीमा सेट करने में सक्षम होना चाहिए, लेकिन ऐसा लगता है कि यह वर्तमान में ओरेकल या कुछ के साथ काम नहीं कर रहा है। लेकिन अन्य कार्यों जैसे SOUNDEX . के लिए आदि। यह ठीक काम करना चाहिए।

आप EntityFramework.Functions के लिए दस्तावेज़ीकरण यहां पढ़ सकते हैं



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 2927 आईडी की सूची में आने वाली सभी पंक्तियों का चयन करें

  2. पीएल/एसक्यूएल - कहां-क्लॉज में वैकल्पिक स्थितियां - गतिशील एसक्यूएल के बिना?

  3. पोर्ट मान को बदलना configApplicationServer विशेषता वर्कलाइट

  4. क्या किसी तालिका का वर्णन करना और पहले NOTNULL कॉलम दिखाना संभव है?

  5. स्ट्रिंग को खोजने के लिए Oracle क्वेरी जिसमें वर्ण नहीं हैं