This library currently brings in a lot of unwanted dependencies. I'd like to propose a multi-package structure that creates a better separation of concerns and improves dependency management.
This doesn't have to be exact but I'm imagining something like this:
Snowflake.Data.Core - Responsible for authenticating to Snowflake and providing a type-safe wrapper around the API. Should ideally have no dependencies other than the .net framework.
Snowflake.Data.Ado - References Snowflake.Data.Core and adds the ADO.Net implementations
Snowflake.Data.Aws - References Snowflake.Data.Core and AWS libs and adds AWS specific implementations. There would be similar packages for Azure and Google.
Then you could create a light-weight dapper style mapper like Snowflake.Client for those of us that would prefer a lighter weight interface to map to POCOs and don't need ADO.
Snowflake.Data.Querying - References Snowflake.Data.Core and adds dapper style POCO mapping extensions.
hello and thank you for submitting this issue! also apologies for the long period without response. we'll take a look and see if and how this could be put on the roadmap.
This library currently brings in a lot of unwanted dependencies. I'd like to propose a multi-package structure that creates a better separation of concerns and improves dependency management.
This doesn't have to be exact but I'm imagining something like this:
Then you could create a light-weight dapper style mapper like Snowflake.Client for those of us that would prefer a lighter weight interface to map to POCOs and don't need ADO.