dbelmont / ExpressionBuilder

A library that provides a simple way to create lambda expressions to filter lists and database queries.
Apache License 2.0
372 stars 105 forks source link

Any Plan to Upgrade to Net Satndard 2.1 - Can I help/modify #68

Closed arashberlin closed 2 years ago

arashberlin commented 3 years ago

Hello David.

I like your work and I love what you have build with is project "ExpressionBuilder".

Do you have any plan to upgrade to Net Standard 2.1 and net48?

Do you allow me to change your code to keep it running in Net Standard 2.1/net48?

You are using Apache License, Version 2.0 and sadly not MIT. So I need your approval to continue to change your code and use it in my project.

Regards,

Arash

kramffud commented 3 years ago

David,

I know you're "slow to comment" because, as many of us are envious, you have a life. Regardless...

I ported your masterpiece to .NET 5.0 MVC and the only thing that needed changing was the Supported Types configuration. But I'm hesitant to share that b/c:

  1. Per @arashberlin , I might be violating the Apache License?
  2. I know enough about Git collaboration to be dangerous and I don't want to mess anything up.

I can't thank you enough for functionality torn from my imagination. ExpressionBuilder satisfies 98% of WHERE clause needs. To sort records by a similar approach, implement https://thecodegarden.net/dynamic-sort

How can I contribute?

mdrozdo commented 2 years ago

@kramffud , I'm not really an expert on OSS licenses, but AFAIK Apache 2.0 doesn't restrict you from sharing the modified code, given you keep it under the same license and provide a list of modifications you have made to the original.

See https://tldrlegal.com/license/apache-license-2.0-(apache-2.0)

Therefore, it should be perfectly fine for you to fork this project on GitHub and push the changes to your fork. Also, you won't break anything in the original project without the owner submitting your Pull Request, anyway.

I'd be very much interested in seeing this cool library supporting .NET 5.0.

LoungeFlyZ commented 2 years ago

This project looks like it might be what you are after @arashberlin

https://github.com/yurisouza/expressionbuildernetcore

arashberlin commented 2 years ago

@LoungeFlyZ many thanks. But I stopped using this lib.

LoungeFlyZ commented 2 years ago

@arashberlin did you move to something else that is better maintained? i would be interested in hearing what you did end up using

kramffud commented 2 years ago

Per @mdrozdo, I will fork what I've got that now supports .NET 6. For my tastes, my latest rev no longer employs System.ConfigurationManager. I now instantiate the Supported Types from application.json and stash them in a Singleton service that is injected as needed. Besides being more .NET 6ish, this eliminates re-reading Supported Types every time an Expression Builder Filter is spun up. I'll get that forked ASAP.