2011-01-26 28 views
1
public class GetFromDatabase 
{ 
    ExaminatorDataContext dataContext; 

    public GetFromDatabase() 
    { 
     dataContext = new ExaminatorDataContext(); 
    } 
public void UpdateUserName(string login, string firstName, string lastName, string middleName) 
    { 
     var user = this.dataContext.Users.Where(u => u.Login == login).SingleOrDefault(); 
     user.FirstName = firstName; 
     user.LastName = lastName; 
     user.MiddleName = middleName; 
     this.dataContext.SubmitChanges(); 
    } 
public string GetUserRole(string login) 
    { 

     return (from user in this.dataContext.Users 
       join role in this.dataContext.Roles on user.RoleId equals role.RoleId 
       where user.Login == login 
       select role.RoleName).SingleOrDefault(); 
} 

當我連接星星並關閉時,我稱這些功能?還有一個問題。我應該使用「使用」嗎?當我使用DataContext連接到數據庫時啓動?

回答

0

在LINQ to SQL,打開連接並在每次查詢表對象時關閉:

var user = this.dataContext.Users.Where(u => u.Login == login).SingleOrDefault(); 

並打開和關閉,當你做一個更新:

this.dataContext.SubmitChanges(); 

你不需要使用'使用',因爲LINQ to SQL將管理連接。

http://www.west-wind.com/weblog/posts/246222.aspx

記住太那個的DataContext和 連接不依賴而 您遍歷數據(或者,如果你 明確使用1比1 連接將只開放連接提供 命令或流式傳輸到 DataReader())。一旦你到達結束 的列表連接自動關閉 。

相關問題