內容:記錄WPF+EF(DBFirst)模式下 作簡單應用的一些習慣、遇到的一些問題以及準備就此作些EF的學習測試;html
環境:VS2017 , SQL Server 2016或2017,EF 6.2.0git
安裝EF:github
添加相互引用: (主應用程序引用Model和DAL , DAL 引用Model)數據庫
Model 和 DAL 分別安裝 EF。bootstrap
測試數據採用微軟演示測試用數據庫 Adventureworks;服務器
爲 WPF_EF_DBFirst.Model 增長數據項目,選擇 ADO.NET Entity Data Model:app
選擇導航中: EF Designer from database :學習
點擊新建數據庫鏈接後,輸入數據庫鏈接的相關參數:服務器名、認證信息、數據庫名:測試
注:考慮到WPF的Config文件是直接可打開瀏覽的,則選擇第一個選項,在數據庫鏈接字符串裏把密碼隱藏,之後在應用中指定密碼;spa
目前涉及到3個須要起名字的地方:
一個是 Item Name;
一個是 在App.Config 中字符串名稱;
一個是 Model Namespace; (此名稱具體做用還須要後續學習)
選擇須要建模型的數據庫表,能夠把 HumanResources,Person,Production,Purchasing,Sales 所有都選上;而後點擊肯定;
須要等待一段時間。。。
這裏出現有2個錯誤提示: (錯誤緣由是EF目前不支持SQL Server的Hierarchyid字段,後續再考慮有什麼辦法)
至此,把數據模型創建在Model這個庫裏已經完成。
採用網友:普通的地球人 所提出的Bootstrap風格的WPF樣式
http://www.javashuo.com/article/p-fdsyumjq-gh.html
先去 https://github.com/ptddqr/bootstrap-wpf-style 或者 BootstrapWpfStyle.zip 下載做者的示例程序包;
解壓開後,拷貝Styles子目錄拷貝進主應用;
修改主應用 App.xaml : (若是是其餘項目名稱,則修改 WPF_EF_DBFirst 爲實際項目名稱)
<Application x:Class="WPF_EF_DBFirst.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:WPF_EF_DBFirst" StartupUri="MainWindow.xaml"> <Application.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="pack://application:,,,/WPF_EF_DBFirst;component/Styles/Bootstrap.xaml"/> </ResourceDictionary.MergedDictionaries> </ResourceDictionary> </Application.Resources> </Application>
經過全Solution替換的方式,把BootstrapWpfStyle字符串所有變動爲WPF_EF_DBFirst或者實際項目名稱:
最後:增長 PresentationFramework.Aero 引用;