0

これは私の最初の SQLite データベースです

CREATE TABLE [Categories] (
  [ParentId] INT, 
  [Name] VARCHAR(100));

CREATE TABLE [Fees] (
  [CategoryId] INT, 
  [Name] VARCHAR(100), 
  [Value] VARCHAR(50), 
  [Info] VARCHAR(200));

CREATE TABLE [Markups] (
  [CategoryId] INT, 
  [UpTo] MONEY, 
  [Value] VARCHAR(50), 
  [Info] VARCHAR(200));

を実行するDbMetal /provider:Sqlite /conn "Data Source=bms4.db3" /dbml:Model.dbmlと、dbml ファイルが正常に作成されます。

しかし、外部キーを追加すると、

CREATE TABLE [Fees] (
  [CategoryId] INT CONSTRAINT [fk_fees_categories] REFERENCES [Categories]([rowid]), 
  [Name] VARCHAR(100), 
  [Value] VARCHAR(50), 
  [Info] VARCHAR(200));

同じコマンドを実行する

DbMetal /provider:Sqlite /conn "Data Source=bms4.db3" /dbml:Model.dbml

このエラーが発生します:

>>> Reading schema from SQLite database
DbMetal: The given key was not present in the dictionary.

外部キー関係を DBML に導入するにはどうすればよいですか?

4

1 に答える 1

0

外部キーは、制約内の一意のキーに対してチェックされます。主キーまたは一意のキーを宣言していないため、それを行うことから始める必要があります (各テーブルに主キーがあることを確認することをお勧めします)。

于 2012-11-09T00:11:33.290 に答える