0

私は asp.net mvc ソリューションで Durandal テンプレートを使用しています。ここでの質問は、デュランダルでも使用されているブリーズに関するものです。モデルに次のエンティティがあるとします。

public class Driver
{
    [Key]
    public int Id { get; set; }
    [Required]
    public string Firstname { get; set; }
    [Required]
    public string Lastname { get; set; }
    public string Comment { get; set; }
    public int? CreatedById { get; set; }
    public DateTime? CreatedTime { get; set; }
    public int? UpdatedById { get; set; }
    public DateTime? UpdatedTime { get; set; }

    public virtual User CreatedBy { get; set; }
    public virtual User UpdatedBy { get; set; }
}

ご覧のとおり、時間とユーザー ID (UpdatedById、UpdatedTime など) の作成/更新を追跡するために使用されるプロパティがいくつかあります。ユーザーがいくつかのデータ入力ページでドライバーを編集/作成し、これらのプロパティ (UpdatedById、UpdatedTime など) をサーバー側でBeforeSaveEntityメソッドに自動的に入力できるようにしたいと考えています。

それは機能しますが、あなたが指摘したように、int?またはDateTime?新しいエンティティを追加する場合(すべてが空白)、そのように進めないと検証に失敗したため、プロパティでnullableを許可する必要がありました。

私の質問:私の作成/編集を追跡するこれらのプロパティに対して、モデル ( int?- ) でnull 許容型を使用しないようにするために実行できる別の解決策または何かがありますか?DateTime?

ありがとう。

4

1 に答える 1