すべてのドメイン オブジェクトの Id 属性に文字列型を使用しています。例えば:
public class Person {
property string Id { get; set; }
// ... more properties
}
ここにはトリックはありません。nullは「値のない」値を表し、新しい Person が作成されて永続化される前にId残りnullます。
現在、「値のない」スペースを強化しnull、空の文字列と空白文字列はすべて「値のない」値であると言う議論があります。
つまり、実行する代わりにエンティティが新しいかどうかを確認するにはif (person.Id == null):if (string.IsNullOrWhiteSpace(person.Id))
私の謙虚な意見では、これは匂いまたは設計原則の違反ですが、どちらが原因かわかりません.
質問:この決定が違反している設計原則 (存在するnull場合) はどれですか?
(オッカムのかみそりの原理、エントロピー、または KISS に似たものであるべきだと思いますが、よくわかりません)