Làm thế nào để bạn chọn tất cả các hàng khi thực hiện linq sang sql?
Select * From TableA
Trong cả cú pháp truy vấn và cú pháp phương thức xin vui lòng.
Câu trả lời:
from row in TableA select row
Hoặc chỉ:
TableA
Trong cú pháp phương thức, với các toán tử khác:
TableA.Where(row => row.IsInteresting) // no .Select(), returns the whole row.
Về cơ bản, bạn đã chọn tất cả các cột, việc chọn sau đó sẽ chuyển đổi cột đó thành các cột bạn quan tâm, vì vậy bạn thậm chí có thể làm những việc như:
from user in Users select user.LastName+", "+user.FirstName
from row in TableA.Rows
? Có phải vì Rows
là thuộc tính mặc định không? Đó là một tính năng của LINQ, hay một thứ gì đó được nướng ở nơi khác? Chỉ tò mò.
Bạn muốn chọn tất cả các hàng hay tất cả các cột?
Dù bằng cách nào, bạn thực sự không cần phải làm gì cả.
DataContext có một thuộc tính cho mỗi bảng; bạn chỉ cần sử dụng thuộc tính đó để truy cập toàn bộ bảng.
Ví dụ:
foreach(var line in context.Orders) {
//Do something
}
using (MyDataContext dc = new MyDataContext())
{
var rows = from myRow in dc.MyTable
select myRow;
}
HOẶC LÀ
using (MyDataContext dc = new MyDataContext())
{
var rows = dc.MyTable.Select(row => row);
}
var rows = dc.MyTable
.
bạn muốn chọn tất cả dữ liệu từ cơ sở dữ liệu thì bạn có thể thử điều này: -
dbclassDataContext dc= new dbclassDataContext()
List<tableName> ObjectName= dc.tableName.ToList();
nếu không Bạn có thể thử điều này: -
var Registration = from reg in dcdc.GetTable<registration>() select reg;
và phương thức Syntex: -
var Registration = dc.registration.Select(reg => reg);
Giả sử TableA
là một thực thể của bảng TableA
và TableADBEntities
dưới dạng lớp Thực thể 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 gốc cũng có thể được sử dụng như:
IList<TableA> resultList;
using (var context = new TableADBEntities())
{
resultList = context.TableA.SqlQuery("Select * from dbo.TableA").ToList();
}
Lưu ý: dbo
là chủ sở hữu lược đồ mặc định trong SQL Server. Người ta có thể xây dựng một SELECT
truy vấn SQL theo cơ sở dữ liệu trong ngữ cảnh.
Tại sao bạn không sử dụng
DbTestDataContext obj = new DbTestDataContext();
var q =from a in obj.GetTable<TableName>() select a;
Cái này đơn giản.