Используя отображение NHibernate кодексом: не Может вставить явную стоимость для колонки идентичности в столе 'DietUser', когда IDENTITY_INSERT установлен в ПРОЧЬ

Мне потребовалось время, чтобы найти ответ на этот вопрос, поэтому я подумал, что разделю любовь.


При использовании нового сопоставления NHibernate по коду с SQL Server не удается сохранить сущность. При сохранении сущности создается System.Data.SqlClient.SqlException со следующим сообщением (за вычетом имени таблицы):

«Не может вставить явную стоимость для колонки идентичности в столе 'DietUser', когда IDENTITY_INSERT установлен в ПРОЧЬ».

Мой стол использует ID идентичности и сущность, & отображения похожи на это:

public class User
{
    public virtual int Id { get; set; }
    public virtual string Name { get; set; }
    public virtual string Username { get; set; }
    public virtual string Password { get; set; }
    public virtual short DailyPoints { get; set; }
}

public class UserMapping : ClassMapping<User>
{
    public UserMapping()
    {
        Id(x => x.Id);
        Property(x => x.Name);
        Property(x => x.Username);
        Property(x => x.Password);
        Property(x => x.DailyPoints);
    }
}

Я знаю, как сопоставить это с помощью сопоставления XML, но я хочу использовать встроенное сопоставление по коду, если это вообще возможно.

-121--1785090- Следует ли использовать сложные запросы SQL или результаты процесса в приложении? Я имею дело с приложением с огромными запросами SQL. Они настолько сложны, что когда я закончу понимать один я уже забыл, как все началось. Мне было интересно, будет ли это хорошо...

Я имею дело с приложением с огромными запросами SQL. Они настолько сложны, что когда я закончу понимать один я уже забыл, как все началось.

Мне было интересно, будет ли хорошей практикой извлечь больше данных из базы данных и сделать окончательный запрос в моем коде, скажем так, с Python. Я что, с ума сошла? Будет ли это так плохо для производительности?

Обратите внимание, результаты тоже огромны, я говорю о ERP в производстве, разработанном другими людьми.

9
задан Adam Stelmaszczyk 23 May 2016 в 15:21
поделиться