[Entity Data Model Wizard] 問題 Entity Data Model Wizard Not Responding

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 set compatibility_level = 110

改用 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

Image result for microsoft+mvp+logo