用SubSonic 2覆蓋BeforeInsert()和BeforeUpdate()方法(測試並確認)並設置您想要ReadOnly的列。
public partial class Products
{
protected override void BeforeInsert()
{
Schema.GetColumn(Columns.CreatedOn).IsReadOnly = true;
base.BeforeInsert();
Schema.GetColumn(Columns.CreatedOn).IsReadOnly = false;
}
protected override void BeforeUpdate()
{
Schema.GetColumn(Columns.ModifiedOn).IsReadOnly = true;
base.BeforeUpdate();
Schema.GetColumn(Columns.ModifiedOn).IsReadOnly = false;
}
}
架構是靜態的,所以你可以在你的代碼做一次(甚至從類外),不要再擔心,但我寧願這樣。
我還沒有嘗試過這與SubSonic3但IsReadOnly屬性仍然存在,所以它也應該工作。