Entity Data Model Wizard 是用來轉 Entity Model,在 VS2015 已經內建,不過幾年前就發現在 SQL 2014 | SQL 2016 的執行個體,資料表只要多,轉換速度就會過慢,當時已有回報此問題,迄今仍未被完全解決...
問題:
當資料表越多,VS2015 和 VS2017 使用 Entity Data Model Wizard 要把資料庫轉成Entity Model 需要的時間就越久
環境:
VS2015、VS2017
SQL 2016 localdb
解法:
建立SQL 2014 localdb 的執行個體,把 db 部署到這裡,然後從這裡轉 Entity Model
SqlLocalDB.exe create "V12.0" 12.0 -s
更改db的相容性
select compatibility_level from sys.databases where name = '
alter database
改用 EntityFramework Reverse POCO Generator
使用方式
https://github.com/sjh37/EntityFramework-Reverse-POCO-Code-First-Generator
下載位置
1.VS IDE 的 擴充工具更新
2.https://marketplace.visualstudio.com/items?itemName=SimonHughes.EntityFrameworkReversePOCOGenerator
結論:
- 如果你已經習慣用 Entity Data Model Wizard 來轉換 Entity Model,更改 db 相容性,似乎是目前較快的解法。
- EntityFramework Reverse POCO Generator 轉換 Model 的速度最快,也最有彈性(自己改T4)
參考資料:
https://github.com/aspnet/EntityFramework6/issues/4
https://stackoverflow.com/questions/32700540/update-wizard-not-responding
若有謬誤,煩請告知,新手發帖請多包涵
Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET