2012-04-01 5 views
1

ステップ、私は表「詳細を作成しました"をSQL Serverに追加します。 DataClasses(.dbml)という名前のプロジェクトでLINQ to SQLクラスを作成しています。SQLにLINQからデータを取得する方法 - 。最初、私は最初のものとしてのVisual Studio 2010</p> <p>にC#/。NETでSQL ServerにLINQを使用しようとしている

DBへの接続を設定した後、詳細テーブルからデータを抽出したいと思います。

私は、WebフォームのPage_Loadに次の操作を行います。

DataClassesDataContext data = new DataClassesDataContext(); 

が、それは間違ってapprochあるようですか?どうすればいいですか?

+1

[Linq to SQL](http://weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to-sql-part-1.aspx) –

答えて

1

SomePageAspx.cs

protected void Page_Load(object sender, EventArgs e){ 
    List<MyBook> books = MyBook.GetAllBooks(); 
} 

MyBook.cs

public partial class MyBook 
{ 
    public static List<MyBook> GetAllBooks() 
    { 
     using (myDBContext db = new myDBContext()) 
     { 
      var books = from o in db.MyBooks 
         select o; 
      return books.ToList(); 
     } 
    } 
} 

ただ、ラフスケッチを助けますが、あなたのアイデアを得ることが十分でなければなりません。そうでない場合は、尋ねてください。

+0

myDBContextはどのようなオブジェクトですか? – Mayank

+0

@Mayank、あなたのデータベースに関する情報を保持するVSを使って生成したクラスです。 (.dbml) – walther

1

データベース内のすべてのストアドプロシージャのすべてのテーブルとメソッドのクラスを作成する必要があります。このために、サーバーエクスプローラを開き、テーブルとストアドプロシージャをドラッグアンドドロップするだけです。ビジュアルスタジオで.dbmlファイルを開いた後.dbmlファイルに保存します。その後、ビジュアルスタジオはデータベースからデータを取得するために必要なコードをすべて作成します。 DataClassesDataContextクラスのメソッドとしてストアドプロシージャのいずれか1つを呼び出すことも、クエリを記述することもできます。私はストアドプロシージャを呼び出すことを好むので、データベースに "GetEmployeeRecord"という名前のストアドプロシージャがある場合は、次のようなことを行います。

var empRec = data.GetEmployeeRecord( 'your_parameters');

希望これは:)

+0

Ok!実際、私がそれをProvaと呼ぶなら、私は「Prova prova = new Prova()」をすることができます。しかし、私が行うと、 'Response.Write(prova.title_it);より空文字列... – markzzz

+0

が表示されます。この場合、" title_it "は列になりますので、" title_it "というgenricリストを取得します"その代償として。次のようなクエリを書く必要があります: var title = from * from prova.books select *; またはストアドプロシージャ –

+0

を呼び出す必要があります:http://www.youtube.com/watch?v=B0gD0NqbGHk –

関連する問題