これが可能かどうかを教えてください。
public class Person
{
public string Name { get; set; }
public int ID { get; set; }
}
クラスの呼び出しを読み込むには(そう、人と、それは人口であるところがでていないコードの人口で、このようなエンティティと呼ばれるアセンブリである人はDataAccessLayerと呼ばれる別のアセンブリで行われていると言います同じアセンブリ)
//以下のコードはdatareaderなどから読み込んでいますが、説明を簡単にするためにこれを行っています。
Person p=new Person();
p.Name="tom";
p.id = 10;
この人物クラスは、別のシステムから人にアクセスできるようになりました。私が望むのは、他のシステムがIDを変更できないようにすることです。それを読むことはできますが、書くことはできません。これを可能にするために別のクラスなどを作成する必要があり、このクラスのみを他のシステム(つまりビジネスオブジェクト)(つまりORM)に公開する必要がありますか?
私は多くの人がIDだけを読んで言うと言うと思います。すなわち
public int ID { get; }
が、私はこれを行う場合、私のDataAccessLayerに私はそれが読み取り専用であるとしてIDを設定することはできませんので、私は、上記のようなコードからIDを読み込むことができません。
おかげ ニール
readonlyプロパティを保持せずに、単にコンストラクタを介してバッキング変数の値を設定するのはなぜですか? – Pierreten