इसलिए मैंने इसे उस तरह से करने की कोशिश करना छोड़ दिया जिस तरह से मुझे लगा कि इसे किया जाना चाहिए और बहुवचन को एक साथ हटा दिया। मैं वास्तव में निश्चित रूप से नहीं जानता, लेकिन मुझे लगता है कि समस्या को MySQL .net कनेक्टर के ईएफ के समर्थन के साथ करना है। यहाँ मैंने क्या किया।
सबसे पहले, मेरी एप्लिकेशनस्टार्ट विधि में एक बग था:
//WRONG
//Database.SetInitializer(new DropCreateDatabaseAlways<myDB>());
Database.SetInitializer(new myDBInitializer());
दूसरा, मैंने ऑनमोडेल क्रिएटिंग बेस कार्यान्वयन को कॉल करना बंद कर दिया जो मूल कोड में सूचीबद्ध नहीं है क्योंकि मैंने इसे केवल jgauffin के सुझाव के अनुसार लागू किया है:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
//DONT DO THIS ANYMORE
//base.OnModelCreating(modelBuilder);
//modelBuilder.Entity<Vote>().ToTable("Votes")
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
तीसरा, मैंने कुछ पोस्टों में पढ़ा है कि MySQL .net Connector EF को वास्तव में एक डेटाबेस बनाने की अनुमति नहीं देता है, इसलिए मैंने शुरू में रिक्त DB बनाया था। ऐसा लगता है कि अब कनेक्टर 6.4.4+ के साथ ऐसा नहीं है, और जब तक आपके कनेक्शन स्ट्रिंग के उपयोगकर्ता के पास नए डेटाबेस बनाने की क्षमता है, तब तक यह बेहतर काम करता है यदि कोई प्रारंभ में मौजूद नहीं है।
एक बार, मैंने उपरोक्त सभी को किया, यह काम करने लगा। तो अब मैं कम से कम आगे बढ़ सकता हूं। उम्मीद है कि हम भविष्य में बहुवचन / एकवचन विसंगति के कारण का पता लगा सकते हैं।
सभी को उनके समय और प्रयास के लिए धन्यवाद।