dotnet core

EF Core with MySQL Specified key was too long; max key length is 3072 bytes

今日嘗試使用 EF Core with MySQL 時出現了以下的錯誤信息: MySql.Data.MySqlClient.MySqlException HResult=0x80004005 Message=Specified key was too long; max key length is 3072 bytes Source=MySql.Data StackTrace: at MySql.Data.MySqlClient.MySqlStream.ReadPacket() at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId) at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force) at MySql.Data.MySqlClient.MySqlDataReader.NextResult() at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior) at MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery() at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.Execute(IRelationalConnection connection, DbCommandMethod executeMethod, IReadOnlyDictionary<strong2 parameterValues) at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.ExecuteNonQuery(IRelationalConnection connection, IReadOnlyDictionary</strong2 parameterValues) at Microsoft.EntityFrameworkCore.Migrations.MigrationCommand.ExecuteNonQuery(IRelationalConnection connection, IReadOnlyDictionary<strong2 parameterValues) at Microsoft.EntityFrameworkCore.Migrations.Internal.MigrationCommandExecutor.ExecuteNonQuery(IEnumerable</strong1 migrationCommands, IRelationalConnection connection) at Microsoft.EntityFrameworkCore.Storage.RelationalDatabaseCreator.CreateTables() at Microsoft.EntityFrameworkCore.Storage.RelationalDatabaseCreator.EnsureCreated() at Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade.EnsureCreated() at epm.

Code-Playground

發覺返到香港越來越難集中去做自己既project 連blog 都少寫了 今日終於逼自己係GitHub 度開個repository 去寫下code 希望每星期都會commit到D code 同有blog post share 個project 叫做 Code-Playground 主要是用來share自己想寫既project 但係因為自己個根基比較弱.. 上網跟住D Tutorial blog post 有時可能version / setup 問題 或是我想做的feature 比較複雜 所以都係做唔到Expected result 希望藉著呢個repository 可以和大家分享這些code和解決方法 和學習一下怎樣organise projects Source code: https://github.com/sharechiwai/code-playground Demo site 會 deploy 到一些free的hosting 上 e.g. Azure App Service https://code-playground.azurewebsites.net Happy Coding

ASP.Net Core Enable Development Error

由於不太了解 ASP.Net Core with Angular / React Webpack 的關係 當遇到有 Angular / React的問題是都不知道那裡出錯 我的Angular / ReactJs Project 是用 dotnet core 的 SPA template 建立的 過了幾天才發現.. 由於是使用 dotnet run 或 dotnet watch run 的關係 所以執行的 port 和 visual studio 執行時 debug 的 port 不一樣.. 可能是這樣所以被定義為不是 development mode 所以網頁的 error 便被隱藏了 解決方法有兩個 解決方法 1 我們可以在Startup.cs Enable Developer Error 便可以了 E.G. 在以下的 function 上 public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) 移除這個 If statement 當程式遇到錯誤時執行這個 Developer Error

ASP.net Core SPA Single Page Application Template Generator with angular, aurelia, knockout, react

最近開始學 Angular 4 / React 但是不知道怎樣開始 如果只是React / Angular 的 CLI 來產生他們的 Project Template 的話 自己便要再起一個Node JS 的 backend 來 serve data 了 安裝方法: 我們可以在 Command prompt 執行以下指令 dotnet new --install Microsoft.AspNetCore.SpaTemplates::* 之後便可以執行以下指令 去看看有什麼 Template 可以使用 dotnet new 建立一個新資料夾之後進入這資料夾執行 以下指令到 建立你的 angular SPA site with Dotnet core backend dotnet new angular 完成後可以執行以下指令到 run 這個 project dotnet restore npm install dotnet run hope you find it useful

dotnet watch does not refresh content for AspNetCore.SpaTemplates React / Angular

最近使用了 ASP.Net Core 的 SPA Template 來學習 ReactJs 因為我可以使用 ASP.Net Core 來做 Web API.. 而 ReactJs 來做 Web Front End 之後便可以 deploy 到 Azure 十分方便.. 又可以很快看到效果 ASP.Net Core App can NOW be deploy to Azure – (Azure web app) 由于使用Visual Studio 開發感覺比效慢 所以便用了Visual Studio Code了 不久便出現了一個問題..就是在Visual Studio 開發時 修改 ReactJs 相關的程式碼..在Debug時 是可以看到修改後的結果的 但是用Visual Studio Code 配合 “dotnet watch run” 時 Enable dotnet watch – on asp.net core dotnet watch run 網頁便不會更新但是deploy 到Azure 時是看到了修改的結果的

Enable dotnet watch - on asp.net core

最近開始學習 .Net Core 的 ASP.Net Core 發現現在.net 越來越方便了 之前開發 asp.net 的 web application 時每當要更改程式碼 時 都有需要停止 debug之後更重新開始debug.. 感覺開發.net application 需要的時間比較長 不像使用 node.js一樣..可以使用 gulp或grunt 來檢查程式碼有沒有更新 如果有的話便會 re-compile 等等 之後只要 refresh browser 便會自看到程式碼所做的更新 現在.net core 也有這個功能叫 “dotnet watch“ 我們只需要在”.csproj” 上的 “” tag 內加上以下的 setting e.g. <ItemGroup> <DotNetCliToolReference Include="Microsoft.DotNet.Watcher.Tools" Version="1.0.0" > <DotNetCliToolReference Include="Microsoft.Extensions.SecretManager.Tools" Version="1.0.0" > <DotNetCliToolReference Include="Microsoft.Extensions.Caching.SqlConfig.Tools" Version="1.0.0" > </ItemGroup> 之後在這個 project 的資料夾的 執行 dotnet restore 之後便可以 在 CLI 上執行 dotnet watch run hope you find it useful