【发布时间】:2016-01-03 11:32:15
【问题描述】:
我正在尝试在 WinForms 中使用 SQLite。所以我创建了一个名为Artist 的表,它有两个名为ArtistId、Name 的列。 ArtistId 的属性是:INTEGERPRIMARYAUTOINCREMENT。
在foreach循环中,如果我手动给值,是没有问题的。
LtoSQLiteDataContext oc = new LtoSQLiteDataContext();
int i = 1;
foreach (var pdfs in articles)
{
var r = new PdfReader(pdfs);
var title = r.Info["Title"].Trim();
var m = new Artist
{
ArtistId = i,
Name = title
};
oc.Artists.InsertOnSubmit(m);
oc.SubmitChanges();
i++;
}
但是如果我像//ArtistId = i; 一样忽略ArtistId,在第一条记录中,ArtistId 得到0 并终止进程。这是屏幕截图:
我知道在 MySQL 和 MsSQL 中,永远不会写入自动增量字段的值。因为它在序列中获取数字。 我不知道,自动增量属性如何正常工作。
【问题讨论】:
-
阅读documentation。并展示实际的建表语句。
-
我从头到尾读了一遍,但是看不懂。我的母语不是英语,可能是起源于此。也许真的很困惑。