关于Grove的主键设置问题
来源:互联网 发布:网络信息时代如何赚钱 编辑:程序博客网 时间:2024/04/27 19:07
我以前是JAVA程序员,现因公司的需国转向.net,但对以前JAVA的开发思想和方法非常怀念特别是Hibernate,我想C#和java是那么的相象,也应该有ORM框架的吧.Google一下就发现了Grove这个很好的工具.这个工具小七而实用.不过就那个短短的几句帮助文件,在使用过程中还是碰到很多问题的.
在以前的使用中,因为数据库的主键都是自增长的,一直没有发现问题,不过有一次应用时主键不是自增长的,就出现问题了,生的的一个Users表的类如下:
...{
using System;
using Grove.ORM;
[DataTable("f2f_users")]
public class f2f_users
...{
String _userID;
String _username;
DateTime _lastVisist;
String _lastIP;
String _userType;
[KeyField("userID")]
public String userID
...{
get...{return this._userID;}
set...{this._userID=value;}
}
[DataField("username")]
public String username
...{
get...{return this._username;}
set...{this._username=value;}
}
[DataField("lastVisist")]
public DateTime lastVisist
...{
get...{return this._lastVisist;}
set...{this._lastVisist=value;}
}
[DataField("lastIP")]
public String lastIP
...{
get...{return this._lastIP;}
set...{this._lastIP=value;}
}
[DataField("userType")]
public String userType
...{
get...{return this._userType;}
set...{this._userType=value;}
}
public bool save()
...{
try
...{
ObjectOperator oo = getObjectOperator.getOperator();
oo.Insert(this);
return true;
}
catch(Exception e)
...{
log.write("保存用户信息失败"+e.ToString());
return false;
}
}
public bool update()
...{
try
...{
ObjectOperator oo = getObjectOperator.getOperator();
oo.Update(this);
return true;
}
catch (Exception e)
...{
log.write("更新用户信息失败" + e.ToString());
return false;
}
}
}
}
我在调用save方法存对象到数据库时,总是出错.后来看一个提示:
不能将值 NULL 插入列 'userID',表 'stockstar_f2f.dbo.f2f_users';列不允许有空值。INSERT 失败。
语句已终止。Trace info:INSERT INTO [f2f_users] ([username],[lastVisist],[lastIP],[userType]) VALUES (@username,@lastVisist,@lastIP,@userType)
很明显,没有插入主键userID,后来反编译一下,反现:
private UniqueIDType pkType = UniqueIDType.AutoIdentitiy;
原来默认主键是自增长的,后来我查了一下资料,把KeyFeild做了如下修改就保存成功了.
[KeyField("userID", KeyType = UniqueIDType.OtherDefinition)]
- 关于Grove的主键设置问题
- 基于Grove的.NET应用程序开发提示1--数据库主键设置问题
- 关于sqlserver 主键设置了identity的问题
- 关于主键的小问题
- 【转】关于SQL Server2005主键和聚簇索引设置的问题
- 关于主键设置的increament属性的设置
- 关于Hibernate复合主键的问题
- 关于mybatis主键的重复问题
- 关于sql server 2005数据库中的主键的属性设置
- oracle主键的设置
- oracle主键的设置
- oracle主键的设置
- oracle主键的设置
- oracle主键的设置
- 由主键和序列号设置而引起的一个问题
- 关于自动编号的 id 作为数据库主键的问题
- 关于数据库的主键。。。
- 关于无意义的主键
- javadoc标记
- VC++基础学习一
- Scott Mitchell 的ASP.NET 2.0数据教程之四:: 使用ObjectDataSource展现数据
- Smarty介绍
- 请到这里 http://lijunxiangjava.javaeye.com/
- 关于Grove的主键设置问题
- CSDN流金岁月
- C#数据类型转换
- C#网络编程
- 微软的Visual Studio 2005 SP1可能是个陷阱!!手工卸载Visual Studio 2005 SP1(downmoon)
- GOOGLE sitemap
- 2006年IT业薪资报告
- 如何支持Google Sitemaps
- 小结一下OPEN SOURCE相关的社区资源