2016-12-19 5 views
3

セッターが公開されていないときにServiceStack OrmLiteにプロパティを設定させる方法はありますか?これは、クラスをより安全なものにするために非常に便利です。 2つの従属プロパティがある場合、それらを同時に設定するメソッドを呼び出すようにします。 OrmLiteはまだデータベースから読み込むときにそれらを設定できる必要があります。だからプライベートにすることができれば素晴らしいかもしれません。人工的な例:ServiceStack OrmLiteは非公開セッターでプロパティを設定できますか?

public class MyObject 
    { 
     public string One { get; private set; } 
     public string Two { get; private set; } 

     public void SetOneOrTwo(bool one, string value) 
     { 
      if (one) 
      { 
       One = value; 
       Two = null; 
      } 
      else 
      { 
       One = null; 
       Two = value; 
      } 
     } 
    } 

答えて

1

いいえ、OrmLite(ServiceStackのほとんどのような)は、コード最初POCOSと連携し、唯一の公共書き込み可能なプロパティを移入して、モデルのパブリックAPIを尊重します。

+0

しかし、私は本当に私のAPIを無礼にしたい! :) – EM0

+0

さらに深刻なことに、公開APIの一部ではないデータを保存したい場合、どうすればよいですか? – EM0

+0

@ EM0公開してください。 RDBMSの表スキーマに影響を与えるには、プロパティーをパブリックにする必要があります。 – mythz

関連する問題