반응형
엔터티 필드에 대한 Nullable 속성, Code First를 포함하는 Entity Framework
다음 Required
과 같이 데이터 주석을 사용합니다 .
[Required]
public int somefield {get; set;}
설정합니다 somefield를 에 내가Not Null
설정하는 방법, 데이터베이스에 somefield 나는 SQL Server Management Studio를하지만 워크 프레임을 통해 설정 시도? 널 (null)을 허용하기로 다시 설정합니다 .Not Null
속성에서 [필수] 속성을 생략하면 string somefield
됩니다. 이렇게하면 NULL
db에 가능한 열 이 생성 됩니다.
int 유형이 데이터베이스에서 NULL을 허용하도록 선택해야합니다.
// 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; }
다른 옵션은 EF에 열이 널이 허용하는 것입니다.
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<SomeObject>().Property(m => m.somefield).IsOptional();
base.OnModelCreating(modelBuilder);
}
이 코드는 상속하는 것이어야합니다 DbContext
.
컴파일러 오류 CS0453 C #이 발생하여 Jon의 대답이 작동하지 않습니다 . 제네릭 유형 또는 메소드에서 우선 순위 변수 'T'로 사용 선호하는 유형이 nullable이 아닌 값 유형이어야합니다.
이것은 나를 위해 일했습니다.
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<SomeObject>().HasOptional(m => m.somefield);
base.OnModelCreating(modelBuilder);
}
에서 Ef는 .NET 핵심 당신이 할 수있는 두 가지 옵션이있다; 먼저 데이터 주석으로 :
public class Blog
{
public int BlogId { get; set; }
[Required]
public string Url { get; set; }
}
또는 유창한 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; }
}
여기에 자세한 내용이 있습니다.
반응형
'ProgramingTip' 카테고리의 다른 글
Postgres에서 CSV 파일의 값으로 선택한 행을 업데이트하는 방법은 무엇입니까? (0) | 2020.11.20 |
---|---|
어떤 Ruby on Rails가 어떤 Ruby 버전과 호환 되나요? (0) | 2020.11.20 |
scikit-learn 분류기에 대한 가장 유익한 기능을 얻는 방법은 무엇입니까? (0) | 2020.11.20 |
Netbeans에서 여러 줄의 코드 편집 (0) | 2020.11.20 |
Linux에서 프로세스에 대해 kill -9가 효과가있는 것이 어떻게 가능합니까? (0) | 2020.11.20 |