0
時,這是我最初的SQLite數據庫的DBLinq DbMetal - 添加外鍵
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的關鍵關係?
你說得對,我必須明確地添加一個自動增量字段。爲什麼ROWID不工作? – Aximili