Mindscape.Lightspeed Ошибка: неверное имя объекта 'KeyTable' - PullRequest
1 голос
/ 04 декабря 2010

Я использую 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 ]

4 голосов
/ 05 декабря 2010

Я разместил этот комментарий на официальном форуме, где вы также разместили этот вопрос: -)

Это сообщение об ошибке генерируется, потому что вы используете метод идентификации KeyTable.Метод идентификации - это то, как LightSpeed ​​будет генерировать идентификаторы для ваших сущностей и по умолчанию использует шаблон KeyTable.Для этого требуется таблица с именем «KeyTable» (для этого есть сценарий в каталоге установки LightSpeed ​​в папке провайдеров).

Если вы не хотите использовать метод идентификации KeyTable, настройте соответствующий метод наваша конфигурация LightSpeedContext в файле .config.Информацию о различных методах можно найти в файле справки, на начальном экране и в некоторых примерах.

Онлайн-страницу справочного файла можно прочитать здесь:

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

Надеюсь, это поможет,

Джон-Даниэль

0 голосов
/ 12 декабря 2013

Чтобы сэкономить вам шаг или два, вот SQL из папки установки Lightspeed для создания KeyTable в SQL Server 2008 (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);
...