मैं सामान्य रूप से एंटिटी फ्रेमवर्क और यहां तक कि ADO.NET के लिए बिल्कुल नया हूं (आमतौर पर डेटाबेस के साथ अधिक काम नहीं करता)।एंटिटी फ्रेमवर्क के साथ MySQL - मैं गलत क्या कर रहा हूं?
- मैंने डाउनलोड किया और MySQL Connector/NET 6.3.5 स्थापित किया।
- मैं दृश्य स्टूडियो में एक नई सी # परियोजना 2010
- मैं अपने प्रोजेक्ट के लिए एक नया ADO.NET इकाई डेटा मॉडल जोड़ा गया है और चुना बनाया "डेटाबेस से उत्पन्न करें।"
- मैंने अपने स्थानीय MySQL सर्वर w/सर्वर नाम "localhost" + मेरे उपयोगकर्ता नाम और पासवर्ड के साथ एक नया कनेक्शन जोड़ा।
- मैंने वस्तुओं को उत्पन्न करने के लिए अपने MySQL डेटाबेस से सभी तालिकाओं की जांच की।
(things
सिर्फ एक फर्जी तालिका मैं कुछ मनमाना क्षेत्रों के साथ एक साथ फेंक दिया है।)
TestDataEntities entities = new TestDataEntities();
var things = entities.things.Execute(MergeOption.AppendOnly); // exception
ऊपर एक NullReferenceException
फेंक दिया और मैं वास्तव में के रूप में पता कर रहा हूँ:
आप में से जो लोग वास्तव में इस सामान के बारे में पता के लिए, यहाँ अपवाद मुझे मिल गया (,, हालांकि मेरे अप्रशिक्षित आंखों के लिए यह वास्तव में नहीं लगती है जैसे कि यह सब है कि मददगार होगा) है:
at MySql.Data.MySqlClient.MySqlClientFactory.get_MySqlDbProviderServicesInstance() at MySql.Data.MySqlClient.MySqlClientFactory.System.IServiceProvider.GetService(Type serviceType) at System.Data.Common.DbProviderServices.GetProviderServices(DbProviderFactory factory) at System.Data.Metadata.Edm.StoreItemCollection.Loader.InitializeProviderManifest(Action`3 addError) at System.Data.Metadata.Edm.StoreItemCollection.Loader.OnProviderManifestTokenNotification(String token, Action`3 addError) at System.Data.EntityModel.SchemaObjectModel.Schema.HandleProviderManifestTokenAttribute(XmlReader reader) at System.Data.EntityModel.SchemaObjectModel.Schema.HandleAttribute(XmlReader reader) at System.Data.EntityModel.SchemaObjectModel.SchemaElement.ParseAttribute(XmlReader reader) at System.Data.EntityModel.SchemaObjectModel.SchemaElement.Parse(XmlReader reader) at System.Data.EntityModel.SchemaObjectModel.Schema.HandleTopLevelSchemaElement(XmlReader reader) at System.Data.EntityModel.SchemaObjectModel.Schema.InternalParse(XmlReader sourceReader, String sourceLocation) at System.Data.EntityModel.SchemaObjectModel.Schema.Parse(XmlReader sourceReader, String sourceLocation) at System.Data.EntityModel.SchemaObjectModel.SchemaManager.ParseAndValidate(IEnumerable`1 xmlReaders, IEnumerable`1 sourceFilePaths, SchemaDataModelOption dataModel, AttributeValueNotification providerNotification, AttributeValueNotification providerManifestTokenNotification, ProviderManifestNeeded providerManifestNeeded, IList`1& schemaCollection) at System.Data.Metadata.Edm.StoreItemCollection.Loader.LoadItems(IEnumerable`1 xmlReaders, IEnumerable`1 sourceFilePaths) at System.Data.Metadata.Edm.StoreItemCollection.Init(IEnumerable`1 xmlReaders, IEnumerable`1 filePaths, Boolean throwOnError, DbProviderManifest& providerManifest, DbProviderFactory& providerFactory, Memoizer`2& cachedCTypeFunction) at System.Data.Metadata.Edm.StoreItemCollection..ctor(IEnumerable`1 xmlReaders, IEnumerable`1 filePaths) at System.Data.Metadata.Edm.MetadataCache.StoreMetadataEntry.LoadStoreCollection(EdmItemCollection edmItemCollection, MetadataArtifactLoader loader) at System.Data.Metadata.Edm.MetadataCache.StoreItemCollectionLoader.LoadItemCollection(StoreMetadataEntry entry) at System.Data.Metadata.Edm.MetadataCache.LoadItemCollection[T](IItemCollectionLoader`1 itemCollectionLoader, T entry) at System.Data.Metadata.Edm.MetadataCache.GetOrCreateStoreAndMappingItemCollections(String cacheKey, MetadataArtifactLoader loader, EdmItemCollection edmItemCollection, Object& entryToken) at System.Data.EntityClient.EntityConnection.LoadStoreItemCollections(MetadataWorkspace workspace, DbConnection storeConnection, DbProviderFactory factory, DbConnectionOptions connectionOptions, EdmItemCollection edmItemCollection, MetadataArtifactLoader artifactLoader) at System.Data.EntityClient.EntityConnection.GetMetadataWorkspace(Boolean initializeAllCollections) at System.Data.EntityClient.EntityConnection.InitializeMetadata(DbConnection newConnection, DbConnection originalConnection, Boolean closeOriginalConnectionOnFailure) at System.Data.EntityClient.EntityConnection.Open() at System.Data.Objects.ObjectContext.EnsureConnection() at System.Data.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption) at System.Data.Objects.ObjectQuery`1.Execute(MergeOption mergeOption) at EntityFrameworkTest.Form1..ctor() in D:\Development\EntityFrameworkTest\Form1.cs:line 23 at EntityFrameworkTest.Program.Main() in D:\Development\EntityFrameworkTest\Program.cs:line 18 at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args) at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args) at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() at System.Threading.ThreadHelper.ThreadStart_Context(Object state) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.ThreadHelper.ThreadStart()
राल्फ ने यहां प्रश्न भी पोस्ट किया: http://forums.mysql.com/read.php?47,391001,391001 –
और उत्तर जो मेरे लिए हल किया गया था, MySql.Data.Entity.dll को कॉपी करना था मेरे होस्ट किए गए ऐप के लिए बिन निर्देशिका। – sipwiz
मुझे लगता है कि यह स्टैक-एक्सचेंज [प्रस्ताव] (http://area51.stackexchange.com/proposals/11464/code-review?referrer=aWNm_PdciyFqjFW8CUacGw2 "कोड समीक्षा") आपके लिए ब्याज का हो सकता है। यदि यह आपका समर्थन दिखाता है और इसे बीटा में लाने में मदद करता है ताकि आप अन्य लोगों के कोड पर मजाक उड़ा सकें! :) – greatwolf