私が持っているデフォルト値を持つ列にNULL値を挿入することはできません、私はプロパティの登録のためのデフォルト値を設定しますが、EFコアは
modelBuilder.Entity<Realtor>(real => {
real.Property<Guid>(p => p.Guid)
.HasDefaultValueSql("newsequentialid()");
real.Property<DateTime>(p => p.Registration)
.HasDefaultValueSql("getdate()");
real.HasOne(r => r.Subdiv)
.WithMany(s => s.Realtors)
.HasForeignKey(r => r.SubdivId);
});
OnModelCreatingメソッドを持つエンティティ
public class Realtor
{
[Key]
public int Id { get; set; }
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid Guid { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public DateTime Registration { get; set; }
[ForeignKey("Id")]
public int SubdivId { get; set; }
public Subdiv Subdiv { get; set; }
}
とコンテキスト私が行うとき挿入すると、例外が発生します:値nullを列登録に挿入できません。
からこれを削除するには、なぜあなたはアイデンティティとしてのDateTimeを持っているのですか?そこにはいけないのですが、なぜあなたは指導者と指導者の両方を抱えていますか? – Dispersia
nullableでない 'DateTime'プロパティに対して' null'値を設定するにはどうすればいいですか?おそらく、それは '[DatabaseGenerated(DatabasegeneratedOption.Identity)]属性です。私は、 'Identity'は' DateTime'値には定義されず、 'int'だけに定義されていると思います。 – krillgar
多分 私は –