우리는 일반적인 SQL Server 지속성 외에도 Java 기반 캐싱 제품에 직렬화되는 데이터베이스 우선 Entity Framework 6.1.3 프로젝트를 보유하고 있습니다. 결과적으로 프로젝트의 도메인 클래스 중 Null 허용 LONG을 가질 수 없습니다. 그들은 GemFire와 호환되지 않습니다. 일반 LONG 만 사용할 수 있습니다.null 허용되는 속성 대신 LONG을 0으로 설정하도록 Entity Framework 가져 오기
하지만 기본 SQL Server 데이터베이스 (BIGINT 열)에는 NULL이 있습니다. 일반적으로 이것은 단지 속성에 물음표를 추가하여 처리 할 것 :
우리의 경우public long? SomeProperty { get; set; }
, 우리는 물음표없이 라이브 엔티티 프레임 워크를 만들 수있는 방법이 필요합니다. 속성은 직선형 LONG이어야합니다. 기본 행에 NULL이 있으면 Entity Framework에서이를 0으로 설정해야합니다. 어쩌면 EF 유창한 API가 이것을 할 수있는 방법을 제공 할까? 나는 이런 식으로 뭔가를 떠올 해요 :
Property(t => t.SomeProperty).HasColumnName("SomeProperty").IsOptional();
도없이 (어쨌든 서면으로) 작동하지 않는, 말.
가 가The 'SomeProperty' property on 'MyDomainClass' could not be set to a 'null' value. You must set this property to a non-null value of type 'System.Int64'.
가
누군가가 방법을 알고 있나요 EF는 C#에서 널 (NULL)로 속성을 표시하지 않고 BIGINT 컬럼에 널 (null)을 허용하는 얻을 : 나는 아직도 다음과 같은 예외가?
nullable long은 Gemfire/Geode와 호환되지 않는다고하는 곳은 어디입니까? 그건 나에게 맞는 소리는 아니야. – rupweb