0

我正在使用 LINQ To SQL 并使用 CreateDatabase 方法创建我的数据库。我从 MSDN 了解到,创建自动生成的主键字段的语法是

[Column(Storage="_ID", IsPrimaryKey=true, AutoSync=AutoSync.OnInsert, DbType="Int NOT NULL IDENTITY", IsDbGenerated=true)]

有人可以解释一下 AutoSync.OnInsert 的含义以及 AutoSync 枚举的其他成员的用法吗?。IE。AutoSync.Always、AutoSync.Default 等。

当我已经将列指定为主键时,DbType 中的“身份”一词有什么意义?

4

1 回答 1

1

标识意味着 ID 列有一个自动生成的值,该值将在任何插入时自动插入。当您第一次插入一行时,ID 的值将在下一次为 2 时为 1,依此类推。

AutoSync 指示公共语言运行时 (CLR) 在插入或更新操作后检索值。

选项:始终、从不、OnUpdate、OnInsert。

资源

从不:您永远不会在实体中取回 ID(只要您不从数据库加载实体)。总是意味着在每次插入或更新 Linq2Sql 操作之后,它将从数据库中检索值。

资源

于 2013-10-31T06:33:41.190 回答