Comments (1)
I've found the root cause of this problem after some debugging with the linq2db source code. My context, MyContext in the example, implements IDataContext but it doesn't inherit from DataConnection - instead it implements IDataContext by wrapping an internal DataConnection context (for API surface control reasons - we don't want to expose DataConnection in our API as that should be an implementation detail).
This works fine when not using compiled queries; LinqToDB.Linq.Builder.TableBuilder.TableContext.NotifyEntityCreated() checks Builder.DataContext that points to MyContext.Context (the wrapped DataConnection).
However, when using a compiled query LinqToDB.Linq.Builder.TableBuilder.TableContext.NotifyEntityCreated() gets confused as Builder.DataContext now points directly to MyContext.
A workaround is to implement IInterceptable<IEntityServiceInterceptor>
in MyContext and just call Context.Interceptor but it would be nice if custom IDataContext classes would work out of the box.
from linq2db.
Related Issues (20)
- CloseAfterUse does not appear to work with stored procedures
- SQL Server Compact 4.0 ntext field with null value throws an exception in BulkCopy (single Insert is working correctly) HOT 5
- Inconsistent object mapping behavior when querying using LINQ vs `QueryToListAsync` HOT 2
- SQL Server Compact 4.0 BulkCopy throws an 'Expression evaluation caused an overflow' exception (single Insert is working correctly) HOT 2
- DDL [drop table] causes MySql transactions to fail to roll back
- Upgrading to 5.4 breaks window query HOT 1
- PostgreSQLBulkCopy performance degradation for method BulkCopyType.ProviderSpecific
- Method not found in target type: Microsoft.Data.Sqlite.SqliteConnection.ClearAllPools() HOT 4
- Linq2Db not all stored procedures scaffolding HOT 3
- Use custom property Getters in Linq queries HOT 5
- Remove `timestamp` "type" special handling in SQLite schema provider HOT 1
- [Association] with QueryExpressionMethod does not honor CanBeNull property HOT 3
- Connection pool depletion when using new DataContext(...), together with LoadWith and FirstOrDefault (or SingleOrDefault) HOT 6
- NotImplementedException when filtering on a sub-query HOT 9
- InheritanceMappingAttribute is working incorrectly when abstract class is present in inheritance tree HOT 6
- BulkCopy failure on CLOB HOT 1
- ConstantExpressions do not get parameterized in SQL statements HOT 2
- [QUESTION] Terminate a query by cancellation token HOT 5
- default-schemas not working
- Firebird different number datatype between constant or variable usage HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from linq2db.