Required
次のようにデータ注釈を使用します。
[Required]
public int somefield {get; set;}
データベースでsomefieldをに設定します。NULL
を許可するようにsomefieldを設定するにはどうすればよいですか?SQL Server Management Studioで設定しようとしましたが、EntityFrameworkでに設定し直しました。Not Null
Not Null
Required
次のようにデータ注釈を使用します。
[Required]
public int somefield {get; set;}
データベースでsomefieldをに設定します。NULL
を許可するようにsomefieldを設定するにはどうすればよいですか?SQL Server Management Studioで設定しようとしましたが、EntityFrameworkでに設定し直しました。Not Null
Not Null
プロパティから[必須]属性を省略してstring somefield
ください。NULL
これにより、データベースに有効な列が作成されます。
int型がデータベースでNULLを許可するようにするには、モデルでnull許容intとして宣言する必要があります。
// an int can never be null, so it will be created as NOT NULL in db
public int someintfield { get; set; }
// to have a nullable int, you need to declare it as an int?
// or as a System.Nullable<int>
public int? somenullableintfield { get; set; }
public System.Nullable<int> someothernullableintfield { get; set; }
The other option is to tell EF to allow the column to be null:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<SomeObject>().Property(m => m.somefield).IsOptional();
base.OnModelCreating(modelBuilder);
}
This code should be in the object that inherits from DbContext
.
Ef .netコアには、実行できる2つのオプションがあります。最初にデータ注釈を付けます:
public class Blog
{
public int BlogId { get; set; } // optinal case
[Required]
public string Url { get; set; } // required case
}
または流暢なAPIを使用:
class MyContext : DbContext
{
public DbSet<Blog> Blogs { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Blog>()
.Property(b => b.Url)
.IsRequired(false)//optinal case
.IsRequired()//required case
;
}
}
public class Blog
{
public int BlogId { get; set; }
public string Url { get; set; }
}
詳細はこちら
コンパイラエラーが発生したため、Jonの回答は機能しませんでしたCS0453 C#ジェネリック型またはメソッドでパラメータ「T」として使用するには、型がnull許容値型である必要があります
これは私にとってはうまくいきました:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<SomeObject>().HasOptional(m => m.somefield);
base.OnModelCreating(modelBuilder);
}