2011-10-20 36 views
2

我有像下面(MySQL表)一個t_my_class表結構使用LINQ從數據庫到在c#

id  class  group  age  name  surname 
1  9   A   18  sarah brown 
2  10  B   20  joe  sanders 
3  8   A   17  elisa connor 
4  10  C   23  sandra brown 

名單和我有一個結構,並且結構的列表

struct MyClass 
{ 
    int id; 
    string class; 
    string group; 
    int age; 
    string name; 
    string surname; 
} 
List<MyClass> Students = new List<MyClass>(); 

現在,你能告訴我用哪個LINQ查詢來從t_my_class表中選擇所有數據給學生列表。

回答

4

首先,應該幾乎可以肯定不會是一個struct - 它應該是一個class。現在,你有幾個選擇;如果你已經有一個支持LINQ的ORM勾搭上了,那麼就應該是簡單的:

var students = myContext.Students.ToList(); 

如果沒有已經使用ORM工具則微ORM也許會有幫助,例如短小精悍點網工程與MySQL據我所知,允許:

var students = connection.Query<Student>("select * from t_my_class").ToList(); 

有了:

class Student 
{ 
    public int Id {get;set;} 
    public string Class {get;set;} 
    public string Group {get;set;} 
    public int Age {get;set;} 
    public string Name {get;set;} 
    public string Surname {get;set;} 
} 
+0

能否請您闡述一下爲什麼我們不應該使用一個Struct? (純粹感興趣)。 – christofr

+1

@christofr結構體非常罕見,除非您確切知道*爲什麼使用結構體,應該假設一個類。特別是,結構對於「對象」類型的數據做出的選擇很差(而學生是一個對象,而不是一個值)。具體的原因是:結構體積過大,可能會不正確的變化,複製語義通常會引起巨大的麻煩。 –

+0

對。謝謝,Marc。 – christofr

0
var students = from p in entities.t_my_class 
select p; 
相關問題