2013-07-15 35 views
4

我與LINQ工作在C#SQL連接到SQL數據庫轉換查詢對象使用LINQ to SQL

,我對數據庫中的表稱爲Person持有有關人員的信息,並具有以下字段Person_IdFirst_NameLast_NameEmailPassword

我已經返回一行以下查詢是否有匹配:

LINQDataContext data = new LINQDataContext(); 
      var query = from a in data.Persons 
         where a.Email == "Any Email String" 
         select a; 

我的問題是如何將query轉換爲它們定義等價類的一個實例是:

class Person 
{ 
    public int person_id; 
    public string First_Name; 
    public string Last_Name; 
    public string E_mail; 
    public string Password; 
    public Person() { } 
} 
+0

怎麼樣'變種person = query.FirstOrDefault()'? – Damith

回答

7

像這樣:

Person query = (from a in data.Persons 
      where a.Email == "Any Email String" 
      select new Person { person_Id = a.Id, and so on }).FirstOrDefault(); 
+0

謝謝你,但我想將它初始化爲Person類型而不是var,並將此引用用作函數的返回值,該怎麼做? –

+0

在我的回答中'var'將是'Person'(var只是一個使編譯器自己發現類型的關鍵字)。您可以明確地將var更改爲Person,並且它可以正常工作(請參閱我的編輯) – gzaxx

+0

Ok謝謝您:) –

2

我會做類似:

var query = (from a in data.Persons 
      where a.Email == "Unique Email String" 
      select new Person { person_Id = a.Id, etc etc }); 

//By using this code, you can add more conditions on query as well.. 

//Now the database hit will be made 
var person = query.FirstOrDefault(); 
+0

感謝您的幫助:) –

+0

@ MGCR7歡迎您,哈比比.. :) –