我在程序員中發佈了一段我的數據模型,詢問我的代碼的缺點是什麼,並得到了一些答案,肯定有潛在的問題。爲代碼第一個實體框架中的字段設計模型,對於某些緩存實體爲空?
不好的做法是Amount
場。它返回Null
給一些實體,結論是我應該從父類中移除Amount
字段,並在我需要它的類中使用它。
它現在使用代碼的方式是先使用數據表下面的模型以我想要的方式出現。該行字段的樣子:
Id, Title, Description, Amount, other fields
每個實體種子的Amount
場零或Null
,視寧與否實體實際使用領域,一個類使用領域的指標是類必須覆蓋Amount
。
,當我刪除了Navigation
類虛擬Amount
,只是放置在類的Amount
場被我實際存儲量會發生什麼,在數據庫中的表看起來像這樣:
Id, Title, Description, Amount, Amount1, Amount2, other fields
這由於許多原因是不希望的結果。
問題是我該怎麼做,所以我只有一個Amount
字段在數據表中?
public class Navigation
{
int Id { get; set; }
string Title { get; set; }
string Description { get; set; }
ObservableCollection<Navigation> Children { get; set; }
public virtual decimal? Amount
{
get { return null; }
set { value = null; }
}
}
public class C1 : Navigation { }
public class C2 : Navigation { }
public class C3 : Navigation
{
private decimal _amount;
public override decimal? Amount
{
get { return _amount; }
set { if (value != null) _amount = (decimal)value; }
}
}
public class C4 : Navigation
{
private decimal _amount;
public override decimal? Amount
{
get { return _amount; }
set { if (value != null) _amount = (decimal)value; }
}
}
6. + EF。是的,我在考慮是否有解決方案。我會給它一個鏡頭。 – Jon 2014-10-04 09:20:24
@Jon讓我知道它是怎麼回事。 – artm 2014-10-04 10:42:13
今天早上我用一種解決方案醒來了,我想我會嘗試一下,然後才用流利的api來試用它。 – Jon 2014-10-04 19:25:45