- We now create LineMappings for instances where a TagHelper's attribute value is not of a string type.
- This will enable the Razor editor to create projections from .cshtml => .cs for TagHelper attributes.
- Modified the TagHelperCodeGenerator and TagHelperBlockBuiler to accurately track the attribute values start locations so it could flow into code generation.
- Modified existing tests to account for the new line mappings.
#207
If a database exception is wrapped later in the request (after EF has logged it) then we were not displaying the database error page.
This was occurring in ASP.NET Identity where the exception was getting wrapped in an AggregateException.
We now walk the tree of inner exceptions looking for a match.
Also adding some extra logging as this was hard to debug without resorting to source code.
Fix - When the model is passed in to a View, ViewDataDictionary sets it. During this process, we recurse through all the properties and create FastPropertyGetters for each of them. In this case, since it is an enumerable, the properties which we recurse through are not the elements of the collection but the properties of the Enumerable instead. i.e - Enumerable.Current. Creating getters for these properties are not necessary. The fix moves the property iteration step to a place where the properties are actually requested.
- Splitting TypeInformation class into two and separating their caches appropriately.
These do no run unless a machine has native module setup done and an environment variable named IIS_NATIVE_MODULE_SETUP=true. So the test will get skipped on pretty much on all machines except the ones where we want to run on.