ErikEJ / SqlCeToolbox

SQLite & SQL Server Compact Toolbox extension for Visual Studio, SSMS (and stand alone)
Other
843 stars 175 forks source link

SQLite column type of [nvarchar](255) (with brackets) is not being parsed correctly #948

Closed straypointer closed 2 years ago

straypointer commented 2 years ago

Describe what is not working as expected. When processing a SQLite table, using the EF designer, if it encounters the create-schema that looks like this: [AttachmentFilename] [nvarchar](255) NULL It will result in an error/warning: Warning Error 6005: The data type '' is currently not supported for the target Entity Framework version; the column 'AttachmentFilename' in the table 'main.Attachment' was excluded.

If I remove the square brackets from "nvarchar", then it will work correctly, e.g.: [AttachmentFilename] nvarchar(255) NULL

This was working in a prior version. I recently upgraded to Visual Studio 2022 and installed your latest build.

Steps to reproduce

Using the EF6 designer and SQLite database, add a table that contains an nvarchar column defined with square brackets as above, and attempt to build.

Further technical details

Toolbox/Power Tools version: (found in About dialog - blue questionmark icon) Version 4.8.762.0 - more than 1,100,000 downloads

SQL Server Compact 4.0 in GAC - No SQL Server Compact 4.0 DbProvider - No SQL Server Compact 4.0 Simple DDEX provider - Yes

SQL Server Compact 3.5 in GAC - No SQL Server Compact 3.5 DbProvider - No Sync Framework 2.1 SqlCe 3.5 provider - No

SQLite Engine in use - 3.38.5 SQLite ADO.NET provider loaded - 1.0.116.0 SQLite EF6 DbProvider in GAC - Yes System.Data.SQLite DDEX provider - No SQLite Simple DDEX provider - Yes

Database engine: (SQlite, SQL Compact or SQL Server): SQLite / System.Data.SQLite 1.0.116.0

Visual Studio or SSMS version: (e.g. Visual Studio 2017 15.3, SSMS 17.3): Visual Studio 2022 17.3.4

Thanks for the awesome project!

ErikEJ commented 2 years ago

There is no nvarchar type in Sqlite

straypointer commented 2 years ago

Strange, we have been using it for several years without issue. I guess it is translated into TEXT type per this document: https://www.sqlite.org/datatype3.html (see 3.1.1. Affinity Name Examples).

Anyways, I found a workflow that let me translate our schema to remove the brackets with a few hours of work using the utility, "DB Browser for SQLite". I will close the ticket. Thanks.