2
유형 공급자가 사용 가능한 유형 목록에 모든 데이터 유형을 추가하는 것 같지 않습니다. 정수 및 텍스트는 잘 작동하지만 varchar 또는 지정된 길이의 int는 무시됩니다. 길이 사양은 잘 작동합니다).F # SQLProvider SQLite에서 열 유형을 무시했습니다.
"정상"입니까? (수정할 설정이 있습니까?) (MySQL의에서 SQL 스크립트를 예를 들어 VARCHAR 크기 제한을 포함 할 것)
#r @"..\packages\SQLProvider.1.0.37\lib\FSharp.Data.SqlProvider.dll"
open FSharp.Data.Sql
let [<Literal>] resolutionPath = __SOURCE_DIRECTORY__ + @"\..\packages\System.Data.SQLite.Core.1.0.103\lib\net45"
let [<Literal>] connectionString = "Data Source=" + __SOURCE_DIRECTORY__ + @"\northwindEF.db; Version=3; foreign keys=true"
// create a type alias with the connection string and database vendor settings
type sql = SqlDataProvider<
ConnectionString = connectionString,
DatabaseVendor = Common.DatabaseProviderTypes.SQLITE,
SQLiteLibrary = Common.SQLiteLibrary.AutoSelect,
ResolutionPath = resolutionPath,
IndividualsAmount = 1000,
UseOptionTypes = true,
CaseSensitivityChange = Common.CaseSensitivityChange.ORIGINAL>
let db = sql.GetDataContext()
for x in db.Main.Country do
printfn "%A" x. //columns are ignored depending on their type
내 나라 테이블의 구조는 다음과 같습니다
CREATE TABLE country (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
name VARCHAR (255) NOT NULL,
area_id INTEGER,
local_currency_id INTEGER,
comments TEXT,
numeric_code INTEGER (3) UNIQUE,
alpha2_code VARCHAR (2) UNIQUE,
alpha3_code VARCHAR (3) UNIQUE,
svg_data_url TEXT
);
SqlProvider 1.0.37 및 System.Data.Sqlite 1.0.97을 사용하여 복제 할 수 없습니다. 혹시 MonoSQLite를 사용하고 있습니까? – piaste
아니요, System.Data.Sqlite/System.Data.Sqlite Core 1.0.103 – user1251614
솔직히 SqlProvider 라이브러리 프로젝트를 복제하고 스크립트에서 참조하는 동안 디버깅하는 것이 좋습니다. 이 코드는 따르기가 어렵지 않습니다. – piaste