用linq增加数据时"服务器无法生成类型为“TinyInt”的主键列。"
我的数据库一张表中设置了id为主键,类型为tinyint,允许为空,并且是把它做为了一个自增的标识符,当我在vs2008中把表拖进来 写好代码 增加记录的时候出现了"服务器无法生成类型为“TinyInt”的主键列。"我查看了一下自动生成的代码如下
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_id", AutoSync=AutoSync.OnInsert, DbType="TinyInt NOT NULL IDENTITY", IsPrimaryKey=true, IsDbGenerated=true)]
public byte id
{
get
{
return this._id;
}
set
{
if ((this._id != value))
{
this.OnidChanging(value);
this.SendPropertyChanging();
this._id = value;
this.SendPropertyChanged("id");
this.OnidChanged();
}
}
}
(注 当我把数据库中id的由tinyint改为int 时就不会出错);
可我不想改数据库,大家帮个忙,帮我解决一下如何改 --------------------编程问答-------------------- 哦 那上面id不允许为空哦,打错了 --------------------编程问答-------------------- 建议你主键类型不要使用TinyInt
要么换int 要么换Guid
LINQ TO SQL 貌似不支持TinyInt
http://social.msdn.microsoft.com/forums/en-US/linqprojectgeneral/thread/bd0c3249-60ee-4216-9fc9-2768c48c6b40/ --------------------编程问答-------------------- 建议你主键类型不要使用TinyInt
要么换int 要么换Guid
你用的,最多才能插入256条数据
补充:.NET技术 , C#