2010-12-04 47 views
1

我正在使用Mindscape.Lightspeed并获取以下错误: 错误:无效的对象名称'KeyTable'。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); 

     } 

回答

4

我发布在官方论坛,在这里你还张贴:-)

是因为你使用的keytable身份方法生成此错误消息这个问题,这个commment。身份方法是LightSpeed如何为您的实体生成标识符,并且默认情况下使用KeyTable模式。这需要一个名为“KeyTable”的表(在提供者文件夹下的LightSpeed安装目录中有一个脚本)。

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

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

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

我希望帮助,

约翰 - 丹尼尔

+0

下面是JD提到的帮助的直接链接:http://www.mindscapehq.com/documentation/lightspeed/Controlling-the-Database-Mapping/Identity-Generation – Myster 2012-09-06 07:42:19

0

为您节省了一两步,这里的SQL从Lightspeed安装文件夹在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); 
相关问题