2012-05-17 9 views
5

में कोड-पहले यह पूर्वाभ्यास एसक्यूएल एक्सप्रेस के साथ अच्छा काम करता है: http://msdn.microsoft.com/en-us/library/gg197522(v=VS.103).aspxइकाई की रूपरेखा 5.0 MySQL के साथ WPF

मैं इसे MySQL के साथ काम करना चाहते हैं। मैंने कुछ शोध किया है लेकिन मुझे मिली तकनीकों में से कोई भी मेरे लिए ऐसा करने में सक्षम नहीं है। आदर्श रूप में मैं कुछ इस तरह करना चाहते हैं:

 <entityFramework> 
    <defaultConnectionFactory type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data" /> 
    </entityFramework> 

यह काम नहीं करता (मैं MySQL कनेक्टर नेट 6.5.4 & MySql.Data संदर्भित स्थापित होना)। मैं IDbConnection कारखाने से पाने की है की कोशिश की के रूप में इस वर्ग के यहाँ में दिखाया गया है: http://www.vworker.com/RentACoder/misc/BidRequests/ShowBidRequest.asp?lngBidRequestId=1563829

और उसके बाद का उपयोग कर:

 <entityFramework> 
<defaultConnectionFactory type="SchoolModel.MySqlConnectionFactory, SchoolModel" /> 

लेकिन है कि या तो काम नहीं करता। क्या कोई मुझे कुछ पॉइंटर्स दे सकता है कि यह काम करने के लिए कैसे प्राप्त करें?

बहुत धन्यवाद।

+0

यह काम नहीं करता है समस्या का विवरण नहीं है। क्या आपको कोई अपवाद मिलता है? अपवाद स्टैक ट्रेस और संदेश क्या है? –

+0

यह काम नहीं करता है इसका मतलब है कि ऊपर वर्णित तकनीकें कोड को MySQL डेटाबेस से कनेक्ट नहीं करती हैं।कोई अपवाद नहीं है, एप्लिकेशन डिफ़ॉल्ट SQLEXPRESS डेटाबेस से इसका कनेक्शन जारी रखता है। आपके जवाब के लिए धन्यवाद! –

+0

बस मूल बातें सत्यापित करने के लिए, क्या आपके पास MySQL से कनेक्ट करने के लिए आपकी कनेक्शन स्ट्रिंग ठीक से सेटअप है, या आपने इसे अपने डिफ़ॉल्ट पर छोड़ दिया है (जो या तो SQL Express या SQL CE होगा)? –

उत्तर

0

क्या आपने अपना डीबी कनेक्शन सेट करते समय डेटासोर्स को MySQL पर सेट किया था। साथ ही, क्लिक करें और सुनिश्चित करें कि "टेस्ट कनेक्शन" सीधे कोड से कनेक्शन का प्रयास करने से पहले सफल होता है।

enter image description here

enter image description here

0

कनेक्टर 6.5.4 एफई 5. साथ समर्थन नहीं करता कोड-पहले वास्तव में यह पहली कोड का समर्थन नहीं करता।

आप डॉट नेट कनेक्टर (कम से कम परीक्षण संस्करण) का उपयोग करने का प्रयास कर सकते हैं।

3

VS2012 पर कोड की पहली EF5 साथ कनेक्टर 6.5.4 उपयोग करने के लिए आप की जरूरत:

  1. स्थापित MySql कनेक्टर MSI
  2. 6.5.4
  3. व्यवस्थापक के रूप में

    ओपन VS2012 86 कमांड प्रॉम्प्ट और निष्पादित करें:

    gacutil/i "सी: \ प्रोग्राम फ़ाइलें (x86) \ MySQL \ कनेक्टर नेट 6.5.4 \ Assemblies \ v4.0 \ mysql.data.dll" gacutil/i "सी: \ प्रोग्राम फ़ाइलें (x86) \ MySQL \ कनेक्टर नेट 6.5.4 \ Assemblies \ v4.0 \ mysql.data.entity.dll "

  4. <system.data> 
        <DbProviderFactories> 
         <remove invariant="MySql.Data.MySqlClient" /> 
         <add 
          name="MySQL Data Provider" 
          invariant="MySql.Data.MySqlClient" 
          description=".Net Framework Data Provider for MySQL" 
          type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, 
          Version=6.5.4.0, Culture=neutral, 
          PublicKeyToken=c5687fc88969c44d" 
         /> 
        </DbProviderFactories> 
    </system.data> 
    
  5. अब आप अपने समाधान के लिए MySql.Data का सन्दर्भ और MySql.Data.Entity जोड़ सकते हैं और (मैं तो MySqlConnection बनाते हैं, तो इस तरह की कुछ कोड:

  6. अपने प्रोजेक्ट की App.config में <configuration> खंड के लिए इस कोड जोड़ें यह MyDbContext के निर्माता) को भेजना

    public class MyDbContext : DbContext 
    { 
        public MyDbContext(DbConnection connection) : base(connection, true) { } ​ 
    
        public DbSet<Product> Products { get; set; } 
    } 
    
    [Table("sund_jshopping_products")] 
    public class Product 
    { 
        [Key] 
        [Column("product_id")] 
        public int Id { get; set; } 
        [Column("product_ean")] 
        public string Ean { get; set; } 
        [Column("product_manufacturer_id")] 
        public int OperatorId { get; set; } 
        [Column("months_status")] 
        public string MonthsStatus { get; set; } 
        [Column("extra_field_5")] 
        public string SideId { get; set; } 
    } 
    
+1

क्या आप एक उदाहरण दे सकते हैं कि आप MySQL 'DbConnection' ऑब्जेक्ट कैसे बनाते हैं? साथ ही, क्या आपने MySQL कनेक्टर 6.6.5.0 में अपग्रेड किया है और इसे करने के लिए एक अलग तरीके से आना है जहां आप app.config में सबकुछ निर्दिष्ट कर सकते हैं? –

संबंधित मुद्दे