LINQ to SQL Diagram(DBML)和Entity Data Model(EDMX)都是.Net Framework v3.5 引入的新特性。相信有很多人不清楚它們之間的差異,這裡簡要分析比較。下面以Northwind 范例數據庫進行說明:
LINQ to SQL 對象關系圖(Object Relational Diagram)
Entity Data Model (EDM) 實體數據模型
Entity Data Model Diagram 和LINQ to SQL Diagram 有大量的相似之處。一個EDM 實體分為2部分:Scalar 屬性和Navigation 屬性。一個Navigation屬性關聯另一個EntityType實體類型,並定義了關系的方向(one-to-many, one-to-one 等等)。
EDM關聯也LINQ to SQL關聯采用不同的可視化屬性界面,但實際上表示相同的內容。
LINQ to SQL : Association
EDM : Association
EntityTypes 和 EntitySets 的命名
默認情況下,LINQ to SQL 自動更改復數形式的表名為單數形式的實體類名,EDM設計器則不會這樣做。因此,當Northwind 數據表Employees 映射到EDM中時,EntityType 命名為Employees,這一命名容易導致混淆。
因此,建議手動對EntityType 更名 – Employee。
更名之後,你會發現EDM也更新了。在LINQ to Entities查詢語句中,智能提示也正確顯示ObjectQuery<Employee> NorthwindEntities.Employees,如下圖所示:
英文鏈接:
http://www.scip.be/index.php?Page=ArticlesNET12