Quantcast
Channel: Entity Framework
Viewing all articles
Browse latest Browse all 10318

Source code checked in, #e3193424a344

$
0
0
GoingOutOfBusinessSale (Ensure related ends are available to change tracking proxies following Code First o/c loading changes) There exists something that is known as the "expensive" o-space loading mechanism. This is code that uses a CLR type in order to attempt to reverse-lookup metadata information for relationships when such metadata cannot be looked up in any other way. This is primarily intended for use with entities that derive from EntityObject, and may still be needed for this. However, the code was used from public APIs that are available to any type of entity. This change tries to ensure that these APIs will still work even though they are probably not used much, if at all. It is not possible to get a usable RelationshipManager for POCOs or lazy loading proxies that are not associated with any context. Therefore, the interesting case here is change tracking proxies that are not associated with a context. These proxies store relationship type information in their metadata and this can be used to do the required lookup without executing the expensive paths. This metadata was previously only stored for relationships with nav props and contained both relationship type info and end info. The end info was never used, so this has now been removed, and the metadata generation has been updated to get relationships even when the type as no navigation property on its end. Also, the expensive code paths would sometimes be used before using proxy metadata, or the proxy metadata would never be used at all; this has been fixed.

Viewing all articles
Browse latest Browse all 10318

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>