多層式架構和遠端應用程式以及 LINQ to SQL
您可以建立使用 LINQ to SQL 的多層式架構或多層應用程式。 一般來說,LINQ to SQL 資料內容、實體類別和查詢建構邏輯位於資料存取層 (DAL) 的中介層 (Middle Tier)。 商務邏輯以及任何非持續性資料則可完全實作在實體的部分類別和方法和資料內容,或可以實作在另外的類別中。
用戶端或展示層會在中介層的遠端介面上呼叫方法,而該層上的 DAL 將執行對應到 DataContext 方法的查詢或預存程序。 中介層一般會將資料以實體或 Proxy 物件的 XML 表示傳回用戶端。
在中介層上,實體是由資料內容建立的,資料內容會追蹤其狀態,以及管理資料庫的延後載入和提交變更。 這些實體會「附加」到 DataContext
。 不過,實體在透過序列化 (Serialization) 傳送到另一層之後,就會中斷連結,表示 DataContext
不再追蹤其狀態。 用戶端傳回進行更新的實體必須重新附加到資料內容,如此 LINQ to SQL 才能將變更提交至資料庫。 在開放式並行存取檢查需要的情況下,用戶端會負責將原始值和/或時間戳記送回中介層。
在 ASP.NET 應用程式中,LinqDataSource 會負責這其中大多數複雜的作業。 如需詳細資訊,請參閱 LinqDataSource Web 伺服器控制項概觀。
其他資源
如需如何實作使用 LINQ to SQL 的多層式架構應用程式的詳細資訊,請參閱下列主題:
如需使用 ADO.NET DataSet 的多層式應用程式的詳細資訊,請參閱在多層式應用程式中使用資料集。