插入一条记录时“无法修改列[列名= id]”
Posted
技术标签:
【中文标题】插入一条记录时“无法修改列[列名= id]”【英文标题】:"The column cannot be modified[ Column name = id ]" when insert one record 【发布时间】:2012-06-27 08:29:35 【问题描述】:我已经在 windows phone 7 平台上创建了一个数据库。表之一定义如下。
[Table]
public class Playlist : BaseTable
// Define ID: private field, public property, and database column.
private int _id;
[Column(DbType = "INT NOT NULL IDENTITY", IsDbGenerated = false, CanBeNull=false, IsPrimaryKey = true)]
public int Id
get return _id;
set
NotifyPropertyChanging("PlaylistId");
_id = value;
NotifyPropertyChanged("PlaylistId");
// some other field
//.......
我不希望字段“id”由 db 生成,因此“IsDbGenerated = false”,但插入一条记录时出现异常: db.Playlists.InsertOnSubmit(new Playlist Id = (int)DefalutPlaylist.Default, Name = "default playlist", Group = 0, Type = 0 );
它说“无法修改列[列名= id]”
谁能帮帮我...
【问题讨论】:
【参考方案1】:在 DbType 中删除“INDENTITY”值如下:
[Column(DbType = "INT NOT NULL", IsDbGenerated = false, CanBeNull=false, IsPrimaryKey = true)]
干杯
【讨论】:
这在 WP8 中对我不起作用,我仍然得到这个异常......有什么想法吗?以上是关于插入一条记录时“无法修改列[列名= id]”的主要内容,如果未能解决你的问题,请参考以下文章
带有Python的Mysql无法插入具有自动增量ID的记录,为啥?
microsoft office professional PLUS 2010无法验证产品的许可,必须使用控制面板修