2016-12-16 68 views
1

的支架文字這似乎是一個很模糊的錯誤,我甚至不知道從哪裏開始使用它......EF核心1.1的遷移 - 當前CSharpHelper不能鍵入

目前CSharpHelper不能類型爲 的腳手架文字'System.Func`3 [Microsoft.EntityFrameworkCore.Metadata.IProperty,Microsoft.EntityFrameworkCore.Metadata.IEntityType,Microsoft.EntityFrameworkCore.ValueGeneration.ValueGenerator]'。 配置您的服務以使用可以的服務。

出現這種情況的,當我運行

dotnet ef migrations add initial 

更新1 - 基於Rob的問題

應用程序的架構採用了豐富的領域模型,所以有一些「變通方法「來獲得像封裝的集合之類的東西,以及Jimmy Bogard的枚舉類型模式。

每個域模型對象在數據訪問層中都有它自己的EntityTypeBuilder類,所有這些類都在DbContext中從OnModelCreating調用。這些也會向Console輸出一些信息,所以我可以看到該構建器不會引起任何錯誤(這些錯誤都不是這一點)。

DbContext僅爲集合根實體提供DbSet,或者換句話說,只有具有相應存儲庫類的實體。其餘的域模型對象是導航屬性,因此不需要DbSet通過DbContext公開。

平臺細節(據我所知)

  • .NET 1.1的核心(運行時間+ SDK)
  • EF核心1.1
  • Microsoft.EntityFrameworkCore.Tools 1.0.0 preview2-最終
  • Microsoft.EntityFrameworkCore.Design 1.0.0-preview2決賽
+0

你定義的模型是什麼? – Rob

+0

@Rob,我不確定我完全理解你的問題? – series0ne

+0

對不起 - 我的意思是,快速*看起來,它似乎沒有腳手架模型。也就是說,它會根據您的內存模型生成SQL表。你會在你的上下文類中定義它們。像這樣:'DBSet People {get;組; }'。 'Person'可能會暴露EF無法轉換爲SQL類型的屬性類型。 – Rob

回答

4

您正在使用.NET 1.1核心運行,但舊的工具包(SH你·烏爾德·採用最新的工具,因爲這個日期是preview4,仍處於阿爾法,違背了運行時 - 是的,在第一

總之不是很直觀,這是一個Known Issue

"tools": { 
    "Microsoft.EntityFrameworkCore.Tools.DotNet": "1.1.0-preview4" 
} 
  • 您可能會或可能不會需要通過只使用上方global.json修復SDK版本說明src應該包含您的代碼的文件夾爲explained in Hanselman's blog

{ 
    "projects": [ "src", "test" ], 
    "sdk": { 
    "version": "1.0.0-preview2-1-003177" 
    } 
} 

編輯:只給你一個更完整的答案,這是我project.json和我的樣本項目看起來像(所有VS代碼完成):

{ 
    "version": "1.0.0-*", 
    "buildOptions": { 
    "debugType": "portable", 
    "emitEntryPoint": true 
    }, 
    "dependencies": { 
    "Microsoft.EntityFrameworkCore": "1.1.0-preview1-final", 
    "Microsoft.EntityFrameworkCore.Design": "1.1.0-preview1-final", 
    "Microsoft.EntityFrameworkCore.SqlServer": "1.1.0-preview1-final", 
    "Microsoft.EntityFrameworkCore.SqlServer.Design": "1.1.0-preview1-final", 
    }, 
    "frameworks": { 
    "netcoreapp1.1": { 
     "dependencies": { 
     "Microsoft.NETCore.App": { 
      "type": "platform", 
      "version": "1.1.0" 
     } 
     }, 
     "imports": "dnxcore50" 
    } 
    }, 
    "tools": { 
    "Microsoft.EntityFrameworkCore.Tools.DotNet": "1.1.0-preview4-final" 
    } 
} 

VS Code Project Layout