Что означает «Insert = true» в ассоциации Castle Active Record
-
21-08-2019 - |
Вопрос
Я работаю над проектом, используя Castle Active Record.Сегодня я наткнулся на аргумент атрибута «Insert = true» в ассоциации AR, но не смог понять, что он на самом деле делает.
[BelongsTo("UserId",Insert = true)]
public ARUser User {
get { return mUser; }
set { mUser = value; }
}
Может кто-нибудь дать мне подсказку?В документации я не нашел ответа.
Решение
Да, вы найдете свойство «Вставка» и «Обновление» в нескольких атрибутах AR.
Мне пришлось провести небольшое тестирование, чтобы убедиться, что я понял документацию.
Если для Update и Insert установлено значение false, это означает, что свойство будет доступно только для чтения при доступе к вашей базе данных (с общедоступным установщиком это может сбить с толку).
[Property(Insert=false, Update=false)]
public virtual string Name { get; set; }
Если для параметра update установлено значение true, а для вставки — false, это означает, что установка этого свойства и последующая вставка элемента не приведут к установке этого значения в базе данных.
[Property(Insert=false)]
public virtual DateTime Created { get; set; }
Что касается сценариев использования, вы сами.
Другие советы
Из документация — Установите значение false, чтобы игнорировать эту ассоциацию при вставке объектов этого класса ActiveRecord.