首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> C# >> 關於C#

C# 3.0 O/R Designer 實戰(下):生成映射程式碼結構深度解析

     編輯:關於C#

O/R Designer 生成的映射類別結構

打開 DataClasses1.designer.cs 可見完整映射程式碼。核心部分:

DataContext 衍生類別


[DatabaseAttribute(Name="northwind_may06ctp")]
public partial class DataClasses1DataContext : DataContext {
    public Table Orders { get { return GetTable(); } }
    public Table Order_Details { get { return GetTable(); } }
    // 預存程序對應方法...
}

實體類別:Order

  • 實作 INotifyPropertyChanging、INotifyPropertyChanged
  • 私有欄位對應資料行(如 _OrderID、_CustomerID)
  • 屬性加 ColumnAttribute 描述對應:Storage、DbType、IsPrimaryKey、IsDbGenerated
  • 關聯屬性 Order_Details 為 EntitySet,對應一對多

實體類別:Order_Detail

  • 複合主鍵:OrderID、ProductID 皆標 IsPrimaryKey=true
  • 關聯屬性 Order 為 EntityRef,對應多對一
  • 關聯屬性 setter 維護雙向關係與外鍵同步

O/R Designer vs SQLMetal

特性O/R DesignerSQLMetal
介面視覺化設計工具命令列工具
類別繼承設計支援不支援
一次抽取所有表需手動拖曳支援,快速便捷
支援範圍基本表、檢視、SP、UDF更完整,含 Designer 不支援的資訊

下一步:進階映射技巧

下節將介紹 O/R Designer 進階用法:實體類別繼承關係設計(如 Product 下的子類別)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved