linq to sqlを実行するときに、どのようにすべての行を選択しますか?
Select * From TableA
クエリ構文とメソッド構文の両方でお願いします。
回答:
from row in TableA select row
あるいは単に:
TableA
メソッド構文では、他の演算子を使用します。
TableA.Where(row => row.IsInteresting) // no .Select(), returns the whole row.
基本的に、すでにすべての列を選択しているので、selectはそれを関心のある列に変換するので、次のようなこともできます。
from user in Users select user.LastName+", "+user.FirstName
from row in TableA.Rows
。Rows
デフォルトのプロパティだからですか?それはLINQの機能ですか、それとも他の場所で焼き付けられたものですか?ちょっと興味があるんだけど。
すべての行を選択しますか、それともすべての列を選択しますか?
いずれにせよ、実際には何もする必要はありません。
DataContextには、各テーブルのプロパティがあります。そのプロパティを使用して、テーブル全体にアクセスできます。
例えば:
foreach(var line in context.Orders) {
//Do something
}
using (MyDataContext dc = new MyDataContext())
{
var rows = from myRow in dc.MyTable
select myRow;
}
または
using (MyDataContext dc = new MyDataContext())
{
var rows = dc.MyTable.Select(row => row);
}
var rows = dc.MyTable
。
データベースからすべてのデータを選択したい場合は、これを試すことができます:-
dbclassDataContext dc= new dbclassDataContext()
List<tableName> ObjectName= dc.tableName.ToList();
それ以外の場合は、これを試すことができます:-
var Registration = from reg in dcdc.GetTable<registration>() select reg;
およびメソッドSyntex:-
var Registration = dc.registration.Select(reg => reg);
仮定するとTableA
、テーブルのエンティティとしてTableA
、及びTableADBEntities
DBエンティティクラスとして、
IQueryable<TableA> result;
using (var context = new TableADBEntities())
{
result = context.TableA.Select(s => s);
}
IQueryable<TableA> result;
using (var context = new TableADBEntities())
{
var qry = from s in context.TableA
select s;
result = qry.Select(s => s);
}
ネイティブSQLは次のようにも使用できます。
IList<TableA> resultList;
using (var context = new TableADBEntities())
{
resultList = context.TableA.SqlQuery("Select * from dbo.TableA").ToList();
}
注:dbo
はSQLServerのデフォルトのスキーマ所有者です。SELECT
コンテキスト内のデータベースに従ってSQLクエリを作成できます。
使ってみませんか
DbTestDataContext obj = new DbTestDataContext();
var q =from a in obj.GetTable<TableName>() select a;
これは簡単です。