首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SubSonic 3+ ActiveRecord入门问题

SubSonic 3+ ActiveRecord入门问题
EN

Stack Overflow用户
提问于 2009-08-14 23:42:57
回答 3查看 608关注 0票数 0

我正在努力从一个表对象中提取一个简单的记录列表并将它们打印出来。

我有一个名为Acceptance的表,它有四个字段,其中两个字段允许为空。以下是模式对象的ddl:

代码语言:javascript
复制
CREATE TABLE [dbo].[Acceptance](
    [AcceptanceID] [int] IDENTITY(1,1) NOT NULL,
    [AcceptanceCode] [nvarchar](2) NOT NULL,
    [AcceptanceDesc] [varchar](25) NOT NULL,
    [SortOrder] [tinyint] NOT NULL,
 CONSTRAINT [PK_Acceptance] PRIMARY KEY CLUSTERED 
(
    [AcceptanceID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

当我尝试使用以下代码向控制台呈现单个记录的单个字段时:

代码语言:javascript
复制
var a = Acceptance.All();
            Console.WriteLine(a.First().AcceptanceID);
            Console.Read();

我得到了以下异常:

System.ArgumentException未处理Message=“类型为'System.Byte‘的对象无法转换为类型’System.Boolean‘。”

我的字段都不是Bit/Boolean类型。我只是不明白..。

可空类型和Linq查询语法是我正在努力解决的两个主题……

任何关于如何正确地做到这一点的见解都是非常值得赞赏的。

谢谢,

乔希

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-08-15 08:20:55

您使用的是什么数据库?我来猜猜MySQL..。您可以进入T4s并更改定义系统类型的方式。默认模板为SQLServer.tt,其MySQL.tt为MySQL。只需查找我们设置tinyint的位置-这是一个正在进行的问题(至少对我来说),返回byte[] vs bool -根据需要设置。

票数 1
EN

Stack Overflow用户

发布于 2009-08-16 11:15:36

您是否可以使用SQL Server Migration Assistant 2005进行访问?默认情况下,迁移向导将时间戳列添加到数据类型为“timestamp”的所有表中。我记得此字段导致的异常与您在使用SubSonic 3时报告的异常相似(如果不是相同的话)。您可以通过工具>默认项目设置>添加时间戳列>从不禁用时间戳列的创建。

票数 1
EN

Stack Overflow用户

发布于 2009-09-30 01:47:51

我也收到了这个错误,上面的修复没有修复我的问题,但是GitHub的最新版本解决了这个问题。

我希望很快会有一个发行版来解决所有这些问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1280700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档