Mindscape.Lightspeed错误:无效的对象名称'KeyTable'

时间:2010-12-04 18:03:12

标签: c# lightspeed

我正在使用Mindscape.Lightspeed并收到以下错误: 错误:无效的对象名称'KeyTable'。

LightSpeedContext<LightSpeedModel1UnitOfWork> context = new LightSpeedContext<LightSpeedModel1UnitOfWork>("Development");

        using (var uow = context.CreateUnitOfWork())
        {
            SiteUser user = new SiteUser();
            user.UserName = "ABC";
            user.RoleId = 1;

            uow.Add(user);

        }

2 个答案:

答案 0 :(得分:4)

我在官方论坛上发布了这个帖子,你也发布了这个问题: - )

正在生成此错误消息,因为您正在使用KeyTable标识方法。身份方法是LightSpeed为您的实体生成标识符的方式,默认情况下使用KeyTable模式。这需要一个名为&#34; KeyTable&#34; (在providers文件夹下的LightSpeed安装目录中有一个脚本)。

如果您不想使用KeyTable标识方法,请在.config文件中的LightSpeedContext配置上配置适当的方法。在帮助文件中,在入门截屏视频和一些示例中有关于各种方法的信息。

您可以在线阅读帮助文件页面:

http://www.mindscape.co.nz/Help/LightSpeed/Help%20Topics/LightSpeed/IdentityGeneration.html

我希望有所帮助,

约翰 - 丹尼尔

答案 1 :(得分:0)

为了节省一两步,这里是Lightspeed安装文件夹中的SQL,用于在SQL Server 2008中创建KeyTable (C:\ Program Files(x86)\ Mindscape \ LightSpeed \ Providers \ SQLServer2008)

IF EXISTS (SELECT * FROM sysobjects WHERE type = 'U' AND name = 'KeyTable')
BEGIN
  DROP TABLE KeyTable
END;

CREATE TABLE KeyTable
(
  NextId INT NOT NULL
)

INSERT INTO KeyTable VALUES (1);