2014-09-08 35 views
11

Bunun aptalca bir soru olduğunu biliyorum, ancak cevabı hiçbir yerde bulamadım. sqlite.net modelinde bir sütun için varsayılan değer nasıl ayarlanır? Varsayılan değerini gerçekiçin boş kolon IsTaxable, bunu nasıl ulaşmalıdır Değil set istiyorumsqlite raw statement/conn.execute() kullanmadan Sqlite.net için varsayılan değer nasıl ayarlanır?

public class ItemTaxes 
{ 
    [PrimaryKey] 
    public string Sku { get; set;} 
    public bool IsTaxable { get; set;}// How to set IsTaxable's default value to true? 
    public decimal PriceTaxExclusive { get; set;} 
} 

: İşte benim modeli sınıftır? Btw Ham sql deyimini kullanmak istemiyorum, yani conn.execute();

Teşekkür ederiz.

+1

ItemTax alanlarını istediğiniz gibi bir şeyle kullanmak istiyorsanız PropertyInfo [] properties = clsObject.GetType(). GetProperties(); 've sonra bir foreach döngüsü yapın, örneğin değerleri varsayılan olarak null olarak dizge olarak ayarlayabilirsiniz. örneğin – MethodMan

+1

kamusal statik void ConvertNullToStringEmpty follwoing yapılıyor (bu T clsObject) Burada T: class { PropertyInfo [] properties = clsObject.Ge tType() GetProperties (.); // Typeof (T) .GetProperties(); foreach (özelliklerinde var bilgi) { // eğer String.Empty if (info.PropertyType == typeof (string) && info.GetValue (clsObject, null) == null) ayarlı bir dize ve null, { info.SetValue (clsObject, String.Empty, null); } } } – MethodMan

+0

Bunun için bir özellik olduğunu düşünmüyorum. Neden kurucudaki değeri ayarlamıyorsunuz? – Postlagerkarte

cevap

10

Biraz geç oldu ama bir cevap arayan burada var olanlar için: Eğer .. Eğer değerlerini belirleyecek bir sınıf veya yöntemi oluşturabilir için varsayılan değerleri ayarlamak istediğiniz ne

public class ItemTaxes 
{ 
    [NotNull, Default(value: true)] 
    public bool IsTaxable { get; set; } 
} 
+5

Ben PCL Blanck App (Taşınabilir Xamarin.Forms) i [Varsayılan (gerçek değerini)] yazamıyor kullanıyorum. –

+0

SQLite.Net hangi sürüme sahiptir? – Geograph

+0

@Geograph [sürüm 3.0.1] 'den beri [oysteinkrog/SQLite.Net-PCL] (https://www.nuget.org/packages/SQLite.Net-PCL/3.1.1) adresinde (https: // github.com/oysteinkrog/SQLite.Net-PCL/taahhüt/15f120cce60a2e1e5fce806f7e752fb1638a430a). –

İlgili konular