您的位置:首页 > 其它

LightSpeed 相关问题处理

2015-05-16 16:52 190 查看
1. 关于KeyTable

配置文件中有一个节点 lightSpeedContexts

该节点下存放的是一些使用LightSpeed的配置,如

<add name="myDB" connectionStringName="myDBCon" dataProvider="SqlServer2008" pluralizeTableNames="False" identityMethod="Guid" />


identityMethod 属性默认值是 KeyTable,如果使用这个属性值且表的Id都使用的Guid,则运行时会使用表KeyTable,将属性设为Guid即可解决这一问题。

2. 错误 【将 expression 转换为数据类型 nvarchar 时出现算术溢出错误。】

实例代码:

var list = DBHelper.CreateUnitOfWork().Query<User>()
.Select(t => new UserInfo
{
DeptId = t.Id.ToString(),
IsAdmin = true
}).ToList();


其中User表的DeptId是Guid类型。

原因是该段代码转换成语句的时候DeptId转换方式出错,通过分析器获取的代码是这样的

CAST(User.DeptId AS NVARCHAR) AS [User.Id_CAST]


很显然,Guid转字符串的时候没有指定长度。

解决方案之一就是先使用ToList,再进行Select。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: