Bir DynamoDB tablodan okuyarak doldurulmuş bir DTO var. Şu anda böyle göründüğünü söyle:
public class Item
{
public string Id { get; set; } // PK so technically cannot be null
public string Name { get; set; } // validation to prevent nulls but this doesn't stop database hacks
public string Description { get; set; } // can be null
}
Bununla başa çıkmak için gelişen en iyi uygulamalar var mı? Dynamo SDK (ve diğerleri) ORM ile kötü oynar çünkü parametresiz olmayan bir yapıcı önlemek istiyorum.
Bana yazmak garip geliyor public string Id { get; set; } = "";
çünkü bu bir PK olduğu için asla olmayacak Id
ve asla boş olamaz. ""
Yine de bir şekilde yapsa bile ne faydası olurdu ?
Peki bununla ilgili en iyi uygulamalar var mı?
- Bunların hepsini,
string?
bazıları asla olmamasına rağmen boş olabileceğini söyleyebilir miyim ? - Ben initialise Should
Id
veName
birlikte""
onlar çünkü gerektiğini geçersiz ve bu gösterileri asla niyet olsa""
kullanılamaz asla. - Yukarıdaki bazı kombinasyonlar
Lütfen dikkat: bu C # 8 nullable referans türleri hakkındadır.En iyi olduklarını bilmiyorsanız cevap vermeyin.
= ""
kullanabilirsiniz (derleyici bunu bilmenin bir yolu olmadığında). Eğer yasal olarak olabilir , bu bir beyan edilmelidir . Alternatif olarak, DTO nullabilite kontrolü yardımdan daha rahatsız edici ise, sadece bu tür için NRT'leri kapatmak için türü / içine sarmanız yeterlidir. = null!
null
Description
null
string?
#nullable disable
#nullable restore
#pragma warning disable CS8618
dosyanın üstündeki tokat .