У меня есть ниже упрощенный C# код для обновления записи с идентификатором «1» с методами CodeFluent:Update CodeFluent Force Базу данных Запись
CFEObject anObject = new CFEObject();
anObject.ID = 1; //ID is the primary key, and an Identity Column
anObject.Name = "New Name";
anObject.Save();
Проблема с выше кода он не обновляется объект с идентификатором 1. Вместо этого он получает следующий идентификатор и создает новую запись, а не редактирует существующую запись.
Я понимаю, что загрузка объекта CFE с помощью метода «LoadById» решила бы вышеупомянутую проблему, но я не могу использовать это, поскольку у меня нет идентификатора до тех пор, пока значения уже не будут установлены. Поэтому, когда я использую «LoadById», он удаляет мои существующие свойства набора.
Как я могу заставить его обновить запись ДОВСЕ с идентификатором «1» без использования метода LoadById?
Если свойство является тождественным, то его может установить только слой db. Это не проблема CodeFluent. Вы можете удалить поведение идентичности или выбрать Guid как тип ключа, если хотите знать уникальный ключ, прежде чем он будет сохранен в первый раз. –
Я не делаю набор, это обновление существующей записи, которая уже сохраняется. Т.е. мои намерения не создавали новую запись с идентификатором 1, но изменяли существующую запись с идентификатором 1. – Oniisaki
Я не знаю, что. Я говорил о вашем «не могу сделать LoadById». –