Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing Oracle datatype XMLTYPE in provider manifest #169

Closed
ymris opened this issue Jun 4, 2019 · 3 comments
Closed

Missing Oracle datatype XMLTYPE in provider manifest #169

ymris opened this issue Jun 4, 2019 · 3 comments
Assignees

Comments

@ymris
Copy link

ymris commented Jun 4, 2019

Description

The title has it all.

See similar issue #104

Maybe it would be a good idea to provide a way of injecting those rarly used types. Unfortunatly I am not able to change the model to avoid the issue.

Exception

System.InvalidOperationException
HResult=0x80131509
Message=The store type 'XMLTYPE' could not be found in the Effort provider manifest
Source=EntityFramework
StackTrace:
at System.Data.Entity.Utilities.DbProviderManifestExtensions.GetStoreTypeFromName(DbProviderManifest providerManifest, String name)
at System.Data.Entity.ModelConfiguration.Configuration.Properties.Primitive.PrimitivePropertyConfiguration.ConfigureColumn(EdmProperty column, EntityType table, DbProviderManifest providerManifest)
at System.Data.Entity.ModelConfiguration.Configuration.Properties.Primitive.PrimitivePropertyConfiguration.Configure(EdmProperty column, EntityType table, DbProviderManifest providerManifest, Boolean allowOverride, Boolean fillFromExistingConfiguration)
at System.Data.Entity.ModelConfiguration.Configuration.Properties.Primitive.PrimitivePropertyConfiguration.<>c__DisplayClass4.b__3(Tuple2 pm) at System.Data.Entity.Utilities.IEnumerableExtensions.Each[T](IEnumerable1 ts, Action1 action) at System.Data.Entity.ModelConfiguration.Configuration.Properties.Primitive.PrimitivePropertyConfiguration.Configure(IEnumerable1 propertyMappings, DbProviderManifest providerManifest, Boolean allowOverride, Boolean fillFromExistingConfiguration)
at System.Data.Entity.ModelConfiguration.Configuration.Types.StructuralTypeConfiguration.ConfigurePropertyMappings(IList1 propertyMappings, DbProviderManifest providerManifest, Boolean allowOverride) at System.Data.Entity.ModelConfiguration.Configuration.Types.EntityTypeConfiguration.ConfigurePropertyMappings(DbDatabaseMapping databaseMapping, EntityType entityType, DbProviderManifest providerManifest, Boolean allowOverride) at System.Data.Entity.ModelConfiguration.Configuration.Types.EntityTypeConfiguration.Configure(EntityType entityType, DbDatabaseMapping databaseMapping, DbProviderManifest providerManifest) at System.Data.Entity.ModelConfiguration.Configuration.ModelConfiguration.ConfigureEntityTypes(DbDatabaseMapping databaseMapping, ICollection1 entitySets, DbProviderManifest providerManifest)
at System.Data.Entity.ModelConfiguration.Configuration.ModelConfiguration.Configure(DbDatabaseMapping databaseMapping, DbProviderManifest providerManifest)
at System.Data.Entity.DbModelBuilder.Build(DbProviderManifest providerManifest, DbProviderInfo providerInfo)
at System.Data.Entity.DbModelBuilder.Build(DbConnection providerConnection)
at System.Data.Entity.Internal.LazyInternalContext.CreateModel(LazyInternalContext internalContext)
at System.Data.Entity.Internal.RetryLazy2.GetValue(TInput input) at System.Data.Entity.Internal.LazyInternalContext.InitializeContext() at System.Data.Entity.Internal.InternalContext.Initialize() at System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType) at System.Data.Entity.Internal.Linq.InternalSet1.Initialize()
at System.Data.Entity.Internal.Linq.InternalSet1.GetEnumerator() at System.Data.Entity.Infrastructure.DbQuery1.System.Collections.Generic.IEnumerable.GetEnumerator()
at System.Collections.Generic.List1..ctor(IEnumerable1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
at SampleIssue.Program.Main(String[] args) in c:\temp\SampleIssue\SampleIssue\Program.cs:line 19

Project

I attached a sample projet, just restore nuget packages to have it build.
SampleIssue.zip

Further technical details

  • EF version: 6.2
  • EF Effort version: 2.1
  • Database Provider: Oracle 19.3
@JonathanMagnan JonathanMagnan self-assigned this Jun 4, 2019
@JonathanMagnan
Copy link
Member

Hello @ymris ,

Thank you for reporting. We will look at it.

I'm not sure if we will succeed to support this one as we already tried in the past to make some customization for Oracle and that doesn't always work, but we will certainly try.

Best Regards,

Jonathan


Performance Libraries
context.BulkInsert(list, options => options.BatchSize = 1000);
Entity Framework ExtensionsEntity Framework ClassicBulk OperationsDapper Plus

Runtime Evaluation
Eval.Execute("x + y", new {x = 1, y = 2}); // return 3
C# Eval FunctionSQL Eval Function

@ymris
Copy link
Author

ymris commented Jun 4, 2019

A simple way to ignore this datatype would actually be enough for my case. As I have seen in other threads this could come in handy every now and then, until a proper solution is in place.

ymris pushed a commit to ymris/EntityFramework-Effort that referenced this issue Jun 5, 2019
JonathanMagnan added a commit that referenced this issue Jun 25, 2019
fixes #169 by adding oracle XMLTYPE to provider manifest
@JonathanMagnan
Copy link
Member

Sorry for the very late reply @ymris ,

We totally forgot to merge your pull.

The v2.1.1 has been released with it.

We also added a new option EntityFrameworkEffortManager.CustomManifestPath which allow you to specify your own manifest file.

Let me know if everything work on your side.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants