打開 DataClasses1.designer.cs 可見完整映射程式碼。核心部分:
[DatabaseAttribute(Name="northwind_may06ctp")]
public partial class DataClasses1DataContext : DataContext {
public Table Orders { get { return GetTable(); } }
public Table Order_Details { get { return GetTable(); } }
// 預存程序對應方法...
}
INotifyPropertyChanging、INotifyPropertyChanged_OrderID、_CustomerID)ColumnAttribute 描述對應:Storage、DbType、IsPrimaryKey、IsDbGeneratedOrder_Details 為 EntitySet,對應一對多OrderID、ProductID 皆標 IsPrimaryKey=trueOrder 為 EntityRef,對應多對一| 特性 | O/R Designer | SQLMetal |
|---|---|---|
| 介面 | 視覺化設計工具 | 命令列工具 |
| 類別繼承設計 | 支援 | 不支援 |
| 一次抽取所有表 | 需手動拖曳 | 支援,快速便捷 |
| 支援範圍 | 基本表、檢視、SP、UDF | 更完整,含 Designer 不支援的資訊 |
下節將介紹 O/R Designer 進階用法:實體類別繼承關係設計(如 Product 下的子類別)。