Comments (6)
Hmm I don't know. I don't think this is a problem anywhere. The real problem is when property maps are not null in the auto generated ones, but you don't use them.
from automapper.collection.
@TylerCarlson1 I think it can be a problem because wenn encountered it in a real life application, where the key can be null. And If its null we get a null reference exception we can not handle because it happens in the GetHashcode call. I think its worth the check or at least dont call GetHashcode in that case( If its possible)
from automapper.collection.
Re-looking at this, what would be the best option? Make expression list empty if anything is null, or make the hash code default to 0 in these null cases? I would think it wouldn't have much impact because comparison will happen afterward to confirm they are equal even if they get grouped together.
Also brings up another point. If both properties are null should they be equivalent to each other, or should they not be?
from automapper.collection.
@TylerCarlson1 If a property is null I would use 0 for the hash code(r# is doing the same when generating equals/hashcode implementations).
If both properties are null --> hash code will be 0 --> they are equivalent --> and then the comparison will decide. what do you think?
from automapper.collection.
I think we can return 0
for the GetHashCode()
, I think if all the source properties is null
we should treat that as a new item and add a new row into the destination collection without try to find if that row already exists. Otherwise if 2 new items are added but all the key-properties is null
the destination will only have one item.
from automapper.collection.
That should be fine making GetHashCode()
equal 0
then if null
. I will double check on that making them separate HashSets, because I think if you add 2 or more with ID = 0 they both get added, so adding this null logic shouldn't make any difference.
from automapper.collection.
Related Issues (20)
- Override GenerateEntityFrameworkPrimaryKeyPropertyMaps with EqualityComparison? HOT 2
- How to use Collections with Profile configuration? HOT 5
- When mapping Lists, if the DestinationType is added to a DataContext, automapper fails with an exception HOT 1
- How to use with a .Net 5 Web project and DI HOT 1
- EqualityComparison based on the index of item in collection
- Add support for AutoMapper 11.0.0 HOT 1
- Package version constraint violation with AutoMapper.Collection HOT 1
- Are nested lists supported?
- mapping foreign key
- EquivalentExpressionAddRemoveCollectionMapper should implement IObjectMapperInfo HOT 1
- Could not install on .NETFramework,Version=v4.8 HOT 2
- Support for AutoMapper v12 HOT 2
- Insert Master with details HOT 1
- DI cycles forever when calling AddCollectionMappers() twice HOT 3
- Collections with Automapper 12.0.1 doesn't work HOT 1
- Expression of type '<Type>' cannot be used for parameter of type '<OtherType>' of method 'Void Add(<OtherType>)' (Parameter 'arg0') HOT 3
- Attribute based EqualityComparison HOT 1
- Order of lists is not preserved during updates HOT 1
- Dependency Contraint HOT 1
- AutoMapper 13 support
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 automapper.collection.