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

EF6 Oracle टाइमस्टैम्प और दिनांक

मेरे पास DATE Oracle प्रकार और EF6.1 के साथ एक समान समस्या है। मेरा समाधान कोडफर्स्टफ़ंक्शंस लाइब्रेरी (केवल EF6.1 और बाद के संस्करण के लिए उपलब्ध) और पहले Oracle में रूपांतरण फ़ंक्शन निर्दिष्ट करें:

create or replace FUNCTION TO_DATE_LOCAL 
(
  DATETIMETOCONVERT IN VARCHAR2 
, CONVERTFORMAT IN VARCHAR2 
) RETURN DATE AS 
BEGIN
  RETURN to_date(DATETIMETOCONVERT, CONVERTFORMAT);
END TO_DATE_LOCAL;

और बाद में मेरे DbContext में:

[DbFunction("CodeFirstDatabaseSchema", "TO_DATE_LOCAL")]
public static DateTime ToDateLocal(string dateTimeToConvert, string convertFormat)
{
    // no need to provide an implementation
    throw new NotSupportedException();
}

इसलिए मैं एंटिटी फ्रेमवर्क को किसी स्थिति में DATE प्रकार का उपयोग करने के लिए बाध्य कर सकता हूं:

var measurement = 
  context.Measurements
    .Where(m => m.MeasuredAt == 
          PlantContext.ToDateLocal("2016.01.01 10:00:00", "YYYY.MM.DD Hh24:MI:SS"))
    .FirstOrDefault();

यदि आप Oracle का उपयोग करते हैं तो CodeFirstFunctions के साथ फ़ंक्शन नाम और स्कीमा नाम के लिए बड़े अक्षरों का उपयोग करने के लिए सावधान रहें।

यदि आपको अधिक विवरण की आवश्यकता है तो मैंने एक ब्लॉग पोस्ट इसके बारे में एक उदाहरण परियोजना के साथ।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. cx_Oracle और डेटा स्रोत प्रतिमान

  2. Oracle:न्यूलाइन पर टेक्स्ट फ़ील्ड को विभाजित करें

  3. ORA-01843 मान्य माह नहीं है- तिथियों की तुलना करना

  4. महीने के हिसाब से Oracle रोलिंग या रनिंग का योग

  5. Oracle के लिए एंटिटी फ्रेमवर्क संगत प्रदाताओं की तुलना?