Commit d5a0466
authored
Meta member matching (#56)
* Refactoring data source finding into static scope with sub-objects
* Start of meta members
* Support for Has<MemberName> meta-members based on non-null source member
* Extending Has<MemberName> test coverage
* Support for Has<MemberName> meta-members for array members
* Support for Has<MemberName> with ICollection members
* Updating IQualfiedMember.GetQualifiedAccess() to only require a parent instance Expression / Enabling source member meta member part chaining
* Support for Has<MemberName> for IEnumerable<T> members
* Support for First<MemberName> meta members for IList<T> members
* Support for First<MemberName> with a null array member
* Support for First<MemberName> meta members for List<T> members
* Support for First<MemberName> meta members for non-Array, non-List<T> members
* Support for Last<MemberName> with arrays
* Test coverage for Last<MemberName> with IEnumerable<T>
* Support for converting simple-type First<MemberName> meta members
* Handling Last<MemberName> members with incompatible element types / New perfomance test results
* Support for mapping to a numeric Has<MemberName> meta member / Support for mapping bool to numerics
* Handling unconvertible Has<MemberName> members
* Handling non-simple Has<MemberName> members
* Handling First<MemberName> and Last<MemberName> members with non-enumerable <MemberName>
* Support for two-level <MemberName>Has<MemberName> meta member
* Deferring creation of OMD when mapping multi-level meta members
* Extra test coverage for <MemberName>Has<MemberName> tests
* Extra test coverage
* Support for combination meta members - Last<EnumerableName>Has<MemberName>
* Extending test coverage
* Support for Has<MemberName> with multi-word <MemberName>
* Extending test coverage
* Support for <MemberName>Count meta members
* Filtering <MemberName>Count meta members to enumerables only
* Support for non-int <MemberName>Count members
* Handling non-numeric <MemberName>Count members
* Support for NumberOf<MemberName> meta members
* Correctly pluralising expected member names for First<>, Last<> and Count<>
* Start of test coverage + support for projecting to meta members / Removing duplicate ToList calls in projections
* Test coverage for projection to int Has<MemberName> meta member for an enumerable member
* Test coverage for projecting to Has<MemberName> meta members with complex type members
* Test coverage for projecting to a <MemberName>Count meta member
* Test coverage and support for projecting to combination First<MemberName>Has<MemberName> meta members
* Support for projecting to combination meta members / Excluding index accesses from projections
* Filtering auto-ordering in First<> and Last<> meta-members to only complex type elements1 parent db622ef commit d5a0466
File tree
71 files changed
+2375
-437
lines changed- AgileMapper.PerformanceTester/Results
- AgileMapper.UnitTests.Orms.Ef5
- AgileMapper.UnitTests.Orms.Ef6
- AgileMapper.UnitTests.Orms.EfCore1
- AgileMapper.UnitTests.Orms.EfCore2
- AgileMapper.UnitTests.Orms
- Infrastructure
- TestClasses
- AgileMapper.UnitTests
- SimpleTypeConversion
- AgileMapper
- Api/Configuration
- DataSources
- Finders
- Extensions/Internal
- Members
- Dictionaries
- Population
- ObjectPopulation
- ComplexTypes
- Enumerables
- Dictionaries
- Queryables
- Converters
- Settings/EntityFramework
- TypeConversion
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
71 files changed
+2375
-437
lines changedLines changed: 48 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
109 | 109 | | |
110 | 110 | | |
111 | 111 | | |
| 112 | + | |
112 | 113 | | |
113 | 114 | | |
114 | 115 | | |
| |||
Lines changed: 17 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
113 | 113 | | |
114 | 114 | | |
115 | 115 | | |
| 116 | + | |
116 | 117 | | |
117 | 118 | | |
118 | 119 | | |
| |||
Lines changed: 17 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
244 | 244 | | |
245 | 245 | | |
246 | 246 | | |
| 247 | + | |
247 | 248 | | |
248 | 249 | | |
249 | 250 | | |
| |||
Lines changed: 17 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
182 | 182 | | |
183 | 183 | | |
184 | 184 | | |
| 185 | + | |
185 | 186 | | |
186 | 187 | | |
187 | 188 | | |
| |||
Lines changed: 17 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
166 | 166 | | |
167 | 167 | | |
168 | 168 | | |
| 169 | + | |
169 | 170 | | |
170 | 171 | | |
171 | 172 | | |
| |||
0 commit comments