2009-05-06 20 views
0

からLinq2SQLクラスをrefrenceする方法を、私は私のページでは、この私は奇妙な問題を抱えています静的クラス

public static class BlogDataAccess 
{ 
    private static Blog _Blg; 
    public static Blog Blg 
    { 
     get 
     { 
      _Blg = new Blog(); 
      return _Blog ; 
     } 
    } 

} 

のような静的クラスは、私は

var DataContext= new DataClasses(); 
    BlogDataAccess.Blg.ArticleTitle ="Title"; 
    DataContext.Blog.InsertOnSubmit(BlogDataAccess.Blg); 
    DataContext.SubmitChanges(); 

レコードを次の手順を実行してい挿入されますが、ArticleTitleフィールドのヌル値を使用します。

+0

私は "_Blog"が誤植であると仮定します。 –

答えて

4

BlogDataAccess.Blgにアクセスするたびに、新しいオブジェクトが作成されます。私はあなたの代わりに、このような遅延インスタンス化を実装するつもりだと思う:

public static class BlogDataAccess 
{ 
    private static Blog _Blg; 
    public static Blog Blg 
    { 
     get 
     { 
      if(_Blg == null) 
       _Blg = new Blog(); 

      return _Blg; 
     } 
    } 

} 
+0

うわー、ほんとうにあなたは私の時間を節約しました、それは魅力のように多くの本当に感謝のように働いた:) このテクニックのダウンサイドはありますか? – DevMania

+0

これは、オブジェクトのインスタンスが1つしか必要ないと仮定しています。怠惰なインスタンス化の唯一の欠点は、オブジェクトの構築に時間がかかることです。最初にアクセスしたときに遅れが生じることがあります。 –

+0

あなたはそれがブログモジュールであり、多分3人のユーザーが記事の編集、編集に取り組んでいることを見ているので、これが問題になりますか? – DevMania