Breeze / breeze.server.net

Breeze support for .NET servers
MIT License
76 stars 62 forks source link

Exception in EFContextProvider.Metadata() when EF model contains ComplexTypes #66

Closed AbakumovAlexandr closed 2 years ago

AbakumovAlexandr commented 6 years ago

When we add an SP which returns some columns, i.e. in EF model its return type is represented with a Complex Type, EFContextProvider.Metadata() throws exception:

System.ArgumentException: 'Could not find the CLR type for 'Model.PendingCallListGet_Result'.'

Stack trace:

at System.Data.Entity.Core.Metadata.Edm.MetadataWorkspace.GetObjectSpaceType[T](T edmSpaceType) at System.Data.Entity.Core.Metadata.Edm.MetadataWorkspace.GetObjectSpaceType(StructuralType edmSpaceType) at Breeze.ContextProvider.EF6.EFContextProvider1.<>c__DisplayClass56_0.<UpdateCSpaceOSpaceMappingCore>b__1(StructuralType st) in C:\\git\\Breeze\\breeze.server.net\\AspNet\\Breeze.ContextProvider.EF6\\EFContextProvider.cs:line 727 at System.Linq.Enumerable.WhereSelectEnumerableIterator2.MoveNext()\r\n at System.Collections.Generic.List1..ctor(IEnumerable1 collection) at System.Linq.Enumerable.ToList[TSource](IEnumerable1 source) at Breeze.ContextProvider.EF6.EFContextProvider1.UpdateCSpaceOSpaceMappingCore(XDocument xDoc, MetadataWorkspace metadataWs) in C:\git\Breeze\breeze.server.net\AspNet\Breeze.ContextProvider.EF6\EFContextProvider.cs:line 724 at Breeze.ContextProvider.EF6.EFContextProvider1.UpdateCSpaceOSpaceMapping(XDocument xDoc, ObjectContext oc) in C:\\git\\Breeze\\breeze.server.net\\AspNet\\Breeze.ContextProvider.EF6\\EFContextProvider.cs:line 697 at Breeze.ContextProvider.EF6.EFContextProvider1.GetMetadataFromObjectContext(Object context) in C:\git\Breeze\breeze.server.net\AspNet\Breeze.ContextProvider.EF6\EFContextProvider.cs:line 614 at Breeze.ContextProvider.EF6.EFContextProvider1.GetMetadataFromDbContext(Object context) in C:\\git\\Breeze\\breeze.server.net\\AspNet\\Breeze.ContextProvider.EF6\\EFContextProvider.cs:line 593 at Breeze.ContextProvider.EF6.EFContextProvider1.GetMetadataFromContext(Object context) in C:\git\Breeze\breeze.server.net\AspNet\Breeze.ContextProvider.EF6\EFContextProvider.cs:line 575 at Breeze.ContextProvider.EF6.EFContextProvider`1.BuildJsonMetadata() in C:\git\Breeze\breeze.server.net\AspNet\Breeze.ContextProvider.EF6\EFContextProvider.cs:line 142 at Breeze.ContextProvider.ContextProvider.Metadata() in C:\git\Breeze\breeze.server.net\AspNet\Breeze.ContextProvider\ContextProvider.cs:line 34

steveschmitt commented 6 years ago

Thanks for letting us know about this. Do you have a simple repro that you could share, i.e. a simple model that demonstrates the problem?