2011-11-15 3 views
-1

は、ここに私の状況です:LINQの結果クラスを3つのテーブルに接続する方法は?

  • ヒット
  • ユニーク

彼らの両方が同じ結果を返すが、異なるテーブルから:私は私のデータを呼び出すために使用される2つのストアドプロシージャを持っています。状況は私がTargetRate()と呼ばれるメソッドを使用しています。代わりに両方のクラスの部分に配置するのですが、私はTargetRate関数と他の関数を共に使用できるクラスにしたいと思っています。私は変更を加える。

など。

  • HitsProcedure
  • UniquesProcedure
  • =戻り値の型スタット

私は、オブジェクトスタット出力に私の結果を使用するだけでなく、共有メソッドを使用したいと思います。誰かが私がこれをやる方法を説明することはできますか?

おかげ

+3

必要になり、これを再説明 - 私はそれを二度読みました両方の時間は意味をなさない。 – JonH

+0

同じ結果を別のテーブルから返すのはどうですか?最低限、戻り値は異なるタイプ(つまり、その特定のテーブルに関連付けられたLINQ-to-SQL DBMLタイプ)になります。 – mellamokb

+0

こんにちはごめんなさい、私は複数の結果の種類の間でメソッドを共有したい、または私のデータに適用できるメソッドで1つの結果のタイプを持っています。 – Darren

答えて

1

あなたはこのような何かを探しています:このような

public abstract class Stats 
{ 
    // put your fields here 
    public bool Exists { get; set; } 
    public int Count { get; set; } 
    public Frob Foo { get; set; } 

    public abstract void Fill(); 
} 

public class UniquesProcedureStats : Stats 
{ 
    public override void Fill() 
    { 
     // make call to call Uniques 
     this.Exists = false; 
     this.Count = 1 
    } 
} 

public class HitsProcedureStats : Stats 
{ 
    public override void Fill() 
    { 
     // make call to call HitsProcedure 
     this.Exists = true; 
     this.Foo = new Frob(); 
    } 
} 

または多分:

public abstract class Stats 
{ 
    // put your fields here 
    public bool Exists { get; set; } 
    public int Count { get; set; } 
    public Frob Foo { get; set; } 

    public abstract void Fill(string procedureName) 
    { 
     SqlConnection connection = new SqlConnection("Get your own connection string"); 
     connection.Open(); 
     SqlCommand command = new SqlCommand(); 
     command.Connection = connection; 
     command.CommandText = procedureName; // your query may be more complicated than this? 
     using (var reader = command.ExecuteReader()) 
     { 
      reader.Read(); 
      this.Count = (int)reader["Count"]; 
     } 
    } 
} 
+0

抽象クラスのプロパティを呼び出すクラスを取得するにはどうすればよいですか? – Darren

+0

メソッドの引数にする必要がありますか? – Darren

+0

@Darrenどのクラスを知る必要はないと思いますか?あなたが本当に望んでいるものに関する情報。 – McKay

関連する問題