0
我們有一個數據庫優先的Entity Framework 6.1.3項目,該項目正在序列化爲基於Java的高速緩存產品(除了普通的SQL Server持久性以外)。因此,項目中的域類都不能有空的LONG。它們與GemFire不兼容。只能使用正常的LONG。獲取Entity Framework將LONG設置爲零而不需要可爲空的屬性
但是我們的底層SQL Server數據庫(在它的BIGINT列中)有NULL。通常這只是增加一個問號的財產進行處理:
public long? SomeProperty { get; set; }
在我們的例子中,我們需要一種方法來使實體框架現場沒有問號。該物業需要是一個長期的;如果底層行具有NULL,則實體框架應將其設置爲零。也許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容忍在BIGINT列的NULL無標記屬性爲C#可空?
它說可空的多頭與Gemfire/Geode不兼容?這聽起來不合適。 – rupweb