Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

22 update to use microsoft package as driver #24

Merged
merged 3 commits into from
Dec 13, 2024

Conversation

MatteoDelOmbra
Copy link

@MatteoDelOmbra MatteoDelOmbra commented Dec 12, 2024

Summary by CodeRabbit

Release Notes for Version 2.0.0

  • New Features

    • Introduced a new Docker Compose configuration for Microsoft SQL Server.
    • Updated connection strings to include a security parameter for trusted server certificates.
  • Changes

    • The return type for the BulkInsert operation has been changed to long.
    • The target framework has been upgraded to .NET Framework 4.6.2.
    • Self-signed certificates are no longer accepted by default.
  • Documentation

    • Updated README and CHANGELOG for improved clarity and to reflect new connection string formats and return types.

mateusz.wojtania added 2 commits December 12, 2024 07:16
@MatteoDelOmbra MatteoDelOmbra linked an issue Dec 12, 2024 that may be closed by this pull request
Copy link

coderabbitai bot commented Dec 12, 2024

Walkthrough

The changes in this pull request encompass updates to the Frends.Sql project, including the transition from System.Data.SqlClient to Microsoft.Data.SqlClient, which affects database connection management. The target framework has been upgraded from .NET Framework 4.5.1 to 4.6.2. Connection strings now require a server certificate parameter, and the return type for the BulkInsert operation has been changed from int to long. Additionally, a new Docker Compose configuration for Microsoft SQL Server has been introduced, and the CHANGELOG.md has been updated to reflect these changes.

Changes

File Change Summary
CHANGELOG.md Documented release notes for version 2.0.0; removed System.Data.SqlClient, replaced with Microsoft.Data.SqlClient; updated target framework to .NET 4.6.2; added server certificate requirement in connection string; changed BulkInsert return type from int to long.
Frends.Sql.Tests/Frends.Sql.Tests.csproj Updated System.Data.SqlClient to Microsoft.Data.SqlClient version 5.2.2.
Frends.Sql.Tests/UnitTest1.cs Replaced System.Data.SqlClient with Microsoft.Data.SqlClient for SQL connection objects in tests.
Frends.Sql.Tests/appsettings.json Updated TestDbConnectionString with new connection string parameters.
Frends.Sql.Tests/docker-compose.yml Introduced a new Docker Compose file for Microsoft SQL Server service configuration.
Frends.Sql/Extensions.cs Changed namespace from System.Data.SqlClient to Microsoft.Data.SqlClient; updated RowsCopiedCount return type from int to long.
Frends.Sql/Frends.Sql.csproj Updated target framework to net462; incremented version to 2.0.0; replaced System.Data.SqlClient with Microsoft.Data.SqlClient version 5.2.2; added <CopyToOutputDirectory> property.
Frends.Sql/Sql.cs Updated connection strings to include TrustServerCertificate=True; changed BulkInsert return type from Task<int> to Task<long>.
README.md Enhanced documentation with updated connection string examples and clarified result types for SQL operations.

Poem

🐰 In the garden where data flows,
A rabbit hops where SQL grows.
With certificates trusted, connections anew,
Long integers count, as we bid adieu.
To old ways we say, "It's time to part,"
For a brighter path, we embrace the art! 🌼


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Experiment)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@MatteoDelOmbra MatteoDelOmbra requested a review from jefim December 12, 2024 08:33
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🧹 Outside diff range and nitpick comments (5)
CHANGELOG.md (1)

5-8: Enhance migration documentation

While the changes are well documented, consider adding:

  1. Migration steps for existing applications
  2. Examples of updated connection string formats
  3. Impact on bulk insert operations with the new long return type

Example addition:

 - Drop usage of System.Data.SqlClient in favor of Microsoft.Data.SqlClient
 - Bump target framework from net451 to net462
 - Server certificate parameter in connection string is required now
 - BulkInsert operation returns now long instead of int
+
+### Migration Guide
+1. Update connection strings to include TrustServerCertificate parameter
+2. Update BulkInsert result handling to support long values
+3. Ensure deployment environments support .NET Framework 4.6.2
Frends.Sql.Tests/UnitTest1.cs (2)

Line range hint 161-181: Verify BulkInsert return type assertions

The test assertions for BulkInsert are using Equal with integer literals. Since BulkInsert now returns long, consider updating the assertions to explicitly use long literals for type safety.

-Assert.Equal(3, result);
+Assert.Equal(3L, result);

TrustServerCertificate testing is needed for connection security scenarios

The codebase shows that TrustServerCertificate is a critical connection string parameter with a default value of "True" in all SQL operation classes, but there are no specific tests verifying its behavior. Current tests only use the default configuration from appsettings.json.

  • Add test cases in UnitTest1.cs that verify SQL operations with:
    • TrustServerCertificate=False to ensure proper certificate validation
    • TrustServerCertificate=True to verify the bypass works as expected
  • Consider testing error scenarios when connecting to a server with an untrusted certificate
🔗 Analysis chain

Line range hint 8-24: Consider adding tests for TrustServerCertificate behavior

Since connection strings now require the server certificate parameter, it would be beneficial to add test cases that verify the behavior with and without TrustServerCertificate.


Let me check the content of the appsettings.json file to understand how TrustServerCertificate is being used.


Let me check if there are any actual test methods that verify different connection string configurations.


Let me check the actual SQL task implementation to understand if there are different connection string handling scenarios that need to be tested.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if there are any tests for TrustServerCertificate
rg -l "TrustServerCertificate" Frends.Sql.Tests/

Length of output: 82


Script:

#!/bin/bash
# Check the content of appsettings.json
cat Frends.Sql.Tests/appsettings.json

# Also search for any test methods that might be using connection strings
rg -A 5 "ConnectionString" Frends.Sql.Tests/

Length of output: 7758


Script:

#!/bin/bash
# Search for test methods (marked with [Fact] or [Theory])
rg -B 2 -A 10 "\[Fact\]|\[Theory\]" Frends.Sql.Tests/UnitTest1.cs

Length of output: 3267


Script:

#!/bin/bash
# Search for connection string handling in the main implementation
rg -A 10 "TrustServerCertificate" Frends.Sql/

Length of output: 2507

README.md (2)

1-1: Fix markdown linting issues

Several markdown issues were detected:

  1. Invalid link fragments
  2. Bare URLs should be enclosed in angle brackets
  3. Code blocks should specify a language

Apply these fixes:

-[Frends.Sql](#frends.sql)
+[Frends.Sql](#frends-sql)

-https://www.myget.org/feed/frends/package/nuget/Frends.Sql
+<https://www.myget.org/feed/frends/package/nuget/Frends.Sql>

-https://msdn.microsoft.com/en-us/library/ms378149(v=sql.110).aspx
+<https://msdn.microsoft.com/en-us/library/ms378149(v=sql.110).aspx>

-```
+```json

Also applies to: 18-18, 72-72, 80-80, 93-93, 113-113, 121-121, 134-134, 156-156, 178-178

🧰 Tools
🪛 Markdownlint (0.37.0)

1-1: null
Link fragments should be valid

(MD051, link-fragments)


35-35: Fix grammatical issues in the documentation

The test setup instructions have some grammatical issues:

-To run the tests you will need an SQL server (you can use prepared docker-compose file to run it out of box).
+To run the tests, you will need an SQL server (you can use a prepared docker-compose file to run it out of the box).
🧰 Tools
🪛 LanguageTool

[uncategorized] ~35-~35: Possible missing comma found.
Context: ...t dotnet build Run Tests To run the tests you will need an SQL server (you can us...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~35-~35: Possible missing article found.
Context: ...ou will need an SQL server (you can use prepared docker-compose file to run it out of bo...

(AI_HYDRA_LEO_MISSING_A)


[uncategorized] ~35-~35: Possible missing article found.
Context: ...ed docker-compose file to run it out of box). You can set the database connection s...

(AI_HYDRA_LEO_MISSING_THE)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e154581 and 9745b9b.

📒 Files selected for processing (9)
  • CHANGELOG.md (1 hunks)
  • Frends.Sql.Tests/Frends.Sql.Tests.csproj (1 hunks)
  • Frends.Sql.Tests/UnitTest1.cs (1 hunks)
  • Frends.Sql.Tests/appsettings.json (1 hunks)
  • Frends.Sql.Tests/docker-compose.yml (1 hunks)
  • Frends.Sql/Extensions.cs (2 hunks)
  • Frends.Sql/Frends.Sql.csproj (1 hunks)
  • Frends.Sql/Sql.cs (7 hunks)
  • README.md (6 hunks)
✅ Files skipped from review due to trivial changes (1)
  • Frends.Sql.Tests/docker-compose.yml
🧰 Additional context used
🪛 Markdownlint (0.37.0)
README.md

18-18: null
Bare URL used

(MD034, no-bare-urls)


1-1: null
Link fragments should be valid

(MD051, link-fragments)


72-72: null
Bare URL used

(MD034, no-bare-urls)


80-80: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


113-113: null
Bare URL used

(MD034, no-bare-urls)


93-93: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


121-121: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


156-156: null
Bare URL used

(MD034, no-bare-urls)


178-178: null
Bare URL used

(MD034, no-bare-urls)


134-134: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🪛 LanguageTool
README.md

[uncategorized] ~35-~35: Possible missing comma found.
Context: ...t dotnet build Run Tests To run the tests you will need an SQL server (you can us...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~35-~35: Possible missing article found.
Context: ...ou will need an SQL server (you can use prepared docker-compose file to run it out of bo...

(AI_HYDRA_LEO_MISSING_A)


[uncategorized] ~35-~35: Possible missing article found.
Context: ...ed docker-compose file to run it out of box). You can set the database connection s...

(AI_HYDRA_LEO_MISSING_THE)

🔇 Additional comments (9)
Frends.Sql/Frends.Sql.csproj (3)

20-22: LGTM: Build configuration update

The addition of CopyToOutputDirectory for FrendsTaskMetadata.json ensures proper packaging.


4-4: Verify compatibility with existing deployments

The upgrade from net451 to net462 is a significant change that may affect deployment environments.

✅ Verification successful

Framework upgrade appears safe to proceed

The codebase analysis shows:

  • No framework-specific code or conditional compilation directives
  • Core functionality relies on standard SQL operations using Microsoft.Data.SqlClient
  • No usage of .NET Framework specific APIs or dependencies
  • All used libraries (Dapper, Newtonsoft.Json) are compatible with both .NET Framework 4.6.2 and .NET Standard 2.0
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check for any conditional compilation or framework-specific code
rg -g "*.cs" "#if.*NET" 

Length of output: 25


Script:

#!/bin/bash
# Let's check for any framework-specific code or dependencies in a broader way
rg -g "*.cs" -i "framework|netstandard|net4"

# Also check for any platform-specific API usage
ast-grep --pattern 'using System.Runtime.$_'

Length of output: 93


Script:

#!/bin/bash
# Let's check the actual code files to understand the SQL client usage and dependencies
fd -e cs -x cat {}

# Also check for any breaking changes in the changelog or release notes
fd -g "*CHANGELOG*" -g "*README*" -x cat {}

Length of output: 31842


15-15: Verify Microsoft.Data.SqlClient version compatibility

The migration to Microsoft.Data.SqlClient 5.2.2 introduces new features and security improvements, but ensure it's compatible with your minimum framework target (net462).

✅ Verification successful

Let me gather more information about the target framework to ensure compatibility.


Microsoft.Data.SqlClient 5.2.2 is compatible with the project's target frameworks

The package is fully compatible with both target frameworks:

  • .NET Standard 2.0
  • .NET Framework 4.6.2

According to Microsoft's documentation, Microsoft.Data.SqlClient 5.2.2 supports .NET Framework 4.6.2+ and .NET Standard 2.0+. The codebase's usage of SqlClient APIs (SqlConnection, SqlCommand, SqlBulkCopy) follows standard patterns that are supported across these frameworks.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Search for SQL client usage patterns that might need updates
rg "SqlConnection|SqlCommand|SqlDataReader|SqlBulkCopy"

Length of output: 2874


Script:

#!/bin/bash
# Check target framework in project file
cat Frends.Sql/Frends.Sql.csproj

Length of output: 883

Frends.Sql.Tests/Frends.Sql.Tests.csproj (1)

14-14: Verify Microsoft.Data.SqlClient version compatibility and security

The migration to Microsoft.Data.SqlClient is good, but we should verify:

  1. If version 5.2.2 is the latest stable release
  2. Any security advisories for this version
✅ Verification successful

Update Microsoft.Data.SqlClient to version 5.1.3 or later to address security vulnerabilities

The current version 5.2.2 is the latest available version, but there's a HIGH severity security advisory published on Jan 9, 2024, affecting versions ">= 5.0.0, < 5.1.3". The vulnerability is related to "SQL Data Provider Security Feature Bypass".

Since version 5.2.2 is newer than the patched version 5.1.3, it's safe to use. No action needed.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check NuGet for latest versions and security advisories
curl -s https://api.nuget.org/v3/registration5-semver1/microsoft.data.sqlclient/index.json | jq -r '.items[0].items[].catalogEntry.version'

# Check for any GitHub security advisories
gh api graphql -f query='
{
  securityVulnerabilities(first: 5, ecosystem: NUGET, package: "Microsoft.Data.SqlClient") {
    nodes {
      advisory {
        summary
        severity
        publishedAt
      }
      vulnerableVersionRange
      firstPatchedVersion {
        identifier
      }
    }
  }
}'

Length of output: 2226

Frends.Sql/Sql.cs (2)

6-6: LGTM: Namespace update for Microsoft.Data.SqlClient

The namespace change is correctly implemented.


226-226: Verify API compatibility for BulkInsert return type change

The change from int to long for BulkInsert's return type is good for large datasets but might affect existing consumers. Let's verify the usage:

Also applies to: 265-265

✅ Verification successful

Based on the search results, I can generate the final response as we have sufficient information. The search shows:

  1. The change is documented in CHANGELOG.md as a breaking change in version 2.0.0
  2. The only usage of BulkInsert in the codebase (outside of the implementation) is in test files
  3. No external consumers of the API are visible in the codebase

Breaking change is properly documented, no internal consumers affected

The return type change from int to long is properly documented as a breaking change in the CHANGELOG.md for version 2.0.0. The only usage found in the codebase is in test files which can be updated alongside this change. Since this is a major version bump (2.0.0), breaking changes are acceptable according to semantic versioning.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Search for BulkInsert method calls in the codebase
rg -l "BulkInsert" | while read -r file; do
  if [[ "$file" != "Frends.Sql/Sql.cs" && "$file" != "Frends.Sql/Extensions.cs" ]]; then
    echo "=== $file ==="
    # Show the context of BulkInsert usage
    rg -C 5 "BulkInsert" "$file"
  fi
done

Length of output: 5349

Frends.Sql.Tests/UnitTest1.cs (1)

5-5: LGTM: Successfully migrated to Microsoft.Data.SqlClient

The import statement has been correctly updated to use the new Microsoft.Data.SqlClient package.

README.md (2)

65-65: LGTM: Connection string examples updated

The connection string examples have been correctly updated to include the required TrustServerCertificate parameter.

Also applies to: 106-106, 147-147


160-161: LGTM: BulkInsert return type documentation updated

The return type for BulkInsert has been correctly updated to "Long integer".

Frends.Sql.Tests/appsettings.json Show resolved Hide resolved
Frends.Sql/Extensions.cs Show resolved Hide resolved
Frends.Sql/Sql.cs Outdated Show resolved Hide resolved
Copy link
Contributor

@jefim jefim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some minor comments

Frends.Sql/Sql.cs Outdated Show resolved Hide resolved
Frends.Sql/Sql.cs Outdated Show resolved Hide resolved
Frends.Sql/Sql.cs Outdated Show resolved Hide resolved
Frends.Sql/Sql.cs Outdated Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
@MatteoDelOmbra
Copy link
Author

comments resolved :)

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🧹 Outside diff range and nitpick comments (1)
README.md (1)

Line range hint 80-91: Add language identifier to code blocks

The JSON example blocks are missing language identifiers, which affects syntax highlighting.

-```
+```json
 [
  {
   "Name": "Foo",
   "Age": 42
  },
  {
   "Name": "Adam",
   "Age": 42
  }
 ]

Also applies to: 121-132

🧰 Tools
🪛 Markdownlint (0.37.0)

72-72: null
Bare URL used

(MD034, no-bare-urls)


80-80: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 9745b9b and 70037b6.

📒 Files selected for processing (3)
  • CHANGELOG.md (1 hunks)
  • Frends.Sql/Sql.cs (3 hunks)
  • README.md (6 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • Frends.Sql/Sql.cs
🧰 Additional context used
🪛 LanguageTool
CHANGELOG.md

[uncategorized] ~5-~5: You might be missing the article “the” here.
Context: ...# [2.0.0] - 2024-12-12 - Drop usage of System.Data.SqlClient in favor of Microsoft.Da...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)

🪛 Markdownlint (0.37.0)
README.md

18-18: null
Bare URL used

(MD034, no-bare-urls)


1-1: null
Link fragments should be valid

(MD051, link-fragments)


72-72: null
Bare URL used

(MD034, no-bare-urls)


80-80: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


113-113: null
Bare URL used

(MD034, no-bare-urls)


93-93: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


121-121: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


156-156: null
Bare URL used

(MD034, no-bare-urls)


178-178: null
Bare URL used

(MD034, no-bare-urls)


134-134: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

CHANGELOG.md Show resolved Hide resolved
CHANGELOG.md Show resolved Hide resolved
| ----------------- | ---------------------------------- | -------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| Query | string | The query that will be executed to the database. | `select Name,Age from MyTable where AGE = @Age` |
| Parameters | Array{Name: string, Value: string} | A array of parameters to be appended to the query. | `Name = Age, Value = 42` |
| Connection String | string | Connection String to be used to connect to the database. | `TrustServerCertificate=True;Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;` |
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Add security warning for TrustServerCertificate parameter

The connection string examples include TrustServerCertificate=True without explaining the security implications. Add a warning note for each connection string example.

 | Connection String | string                             | Connection String to be used to connect to the database. | `TrustServerCertificate=True;Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;` |
+| | | > **Security Note**: Setting `TrustServerCertificate=True` bypasses certificate validation and is not recommended for production environments. Use valid certificates in production. | |

Also applies to: 106-106, 147-147, 171-171

Comment on lines +17 to 18

You can install the task via FRENDS UI Task view, by searching for packages. You can also download the latest NuGet package from https://www.myget.org/feed/frends/package/nuget/Frends.Sql and import it manually via the Task view.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Update installation instructions with version compatibility

The installation section should mention the .NET Framework version requirement and potential breaking changes.

 ## Installing

-You can install the task via FRENDS UI Task view, by searching for packages. You can also download the latest NuGet package from https://www.myget.org/feed/frends/package/nuget/Frends.Sql and import it manually via the Task view.
+You can install the task via FRENDS UI Task view, by searching for packages. You can also download the latest NuGet package from [MyGet](https://www.myget.org/feed/frends/package/nuget/Frends.Sql) and import it manually via the Task view.
+
+### Requirements
+- .NET Framework 4.6.2 or later
+
+### Breaking Changes in v2.0.0
+1. Now uses Microsoft.Data.SqlClient instead of System.Data.SqlClient
+2. Self-signed certificates are not accepted by default
+3. BulkInsert operation now returns long instead of int
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
You can install the task via FRENDS UI Task view, by searching for packages. You can also download the latest NuGet package from https://www.myget.org/feed/frends/package/nuget/Frends.Sql and import it manually via the Task view.
## Installing
You can install the task via FRENDS UI Task view, by searching for packages. You can also download the latest NuGet package from [MyGet](https://www.myget.org/feed/frends/package/nuget/Frends.Sql) and import it manually via the Task view.
### Requirements
- .NET Framework 4.6.2 or later
### Breaking Changes in v2.0.0
1. Now uses Microsoft.Data.SqlClient instead of System.Data.SqlClient
2. Self-signed certificates are not accepted by default
3. BulkInsert operation now returns long instead of int
🧰 Tools
🪛 Markdownlint (0.37.0)

18-18: null
Bare URL used

(MD034, no-bare-urls)

@jefim jefim merged commit 912148c into master Dec 13, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Update to use Microsoft package as driver
2 participants