2017年10月31日 星期二

【DB】Normalization

記得唸書的時候有寫過文章,但找不到放哪去了。 這篇最重要是要講二階跟三階正規化的差異。

2017年9月5日 星期二

【SQL】Derived table, Subquery, CTE, Temporary table, Table variable

這篇主要是面試被考到 CTE,但我實際上不只沒寫過,連聽都沒聽過,查了一下發現暫存資料集的眉眉角角比想像的多很多,所以做一下整理,有誤還請指出。

2017年9月4日 星期一

【ASP.NET Webform】Add html from code behind

有個需求要自己手工刻分頁,想用 Bootstrap 的 pagination 但中間的頁碼鈕必須動態決定產生幾個,所以變成在 postback 的時候要算完資料集分頁數在動態補按鈕進去。

2017年6月19日 星期一

【AutoMapper】None static centralized configuration

想把 AutoMapper 的設定作個集中,但找到的教學都是用 Initialize 做靜態的,而沒有新版建議的 IMapper 實體導向的作法,參考了 SO 得其中一篇作了簡單的設置,算不上 best practice 但有興趣的人還是可以參考下。

2017年6月18日 星期日

【Visual Studio】IntelliSense popup then disapear immediately

在使用 VS 2015 撰寫 cshtml razor 時碰到自動完成提示顯示後又馬上消失的問題(Controller 等其他地方不會)。

2017年6月3日 星期六

【ASP.NET Webform】在 MasterPage master 中包含 js lib

套 master 的 child 沒吃到 js 的問題。
※大多數 ASP.NET Webform 的網址相對路徑都可以此法正確對應。

2017年6月2日 星期五

【Entity Framework】發現物件名稱 'dbo.TableName' 和索引名稱 'IX_PropertyName' 的重複索引鍵

Code first 更新 DB 時發生
發現物件名稱 'dbo.TableName' 和索引名稱 'IX_PropertyName' 的重複索引鍵,CREATE UNIQUE INDEX 陳述式已結束。重複的索引鍵值為 ()。

2017年6月1日 星期四

【IIS】HTTP 錯誤 500.19 - Internal Server Error

部署後,瀏覽時發生標題的錯誤,Detail 是
在唯一金鑰屬性 'name' 設為 'UrlRoutingModule-4.0' 的情況下,無法新增類型 'add' 的重複集合項目

【ASP.NET Webform】JQuery Ajax to codebehind


透過 JQuery ajax call codebehind method 刷新 DropDownList 的選項為範例。

2017年5月31日 星期三

【ASP.NET Webform】Invalid postback or callback argument. Event validation is enabled using in configuration...

在自己用 JQuery Ajax 去改 DropDownList 內容後,postback 就噴
Invalid postback or callback argument. Event validation is enabled using in configuration or <%@ Page EnableEventValidation="true" %> in a page. For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them. If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation.

【JQuery】Uncaught TypeError: Cannot use 'in' operator to search for 'length'

在 input select ajax 取回 json 要轉成 options 時噴
Uncaught TypeError: Cannot use 'in' operator to search for 'length'

2017年5月30日 星期二

2017年5月28日 星期日

【ASP.NET MVC】Encountered an unexpected error when attempting to resolve tag helper directive '@addTagHelper' ...

在 MVC Controllers 加入 具有檢視、使用 Entity Framework 的 MVC 5 控制器,View 端噴錯噴得亂七八糟的,但要是按執行還是很神奇的可以跑起來。

Encountered an unexpected error when attempting to resolve tag helper directive '@addTagHelper' with value 'Microsoft.AspNet.Mvc.Razor.TagHelpers.UrlResolutionTagHelper, Microsoft.AspNet.Mvc.Razor'. Error: Object reference not set to an instance of an object

The type or namespace name 'AspNet' does not exist in the namespace 'Microsoft' after add controller with view

The type or namespace name 'Mvc' does not exist in the namespace 'Microsoft.AspNet' (are you missing an assembly reference?)

還有
'_Page_views_home_index_cshtml.ExecuteAsync()': no suitable method found to override

【Entity framework】Code First - Restart from a previous migration

放棄一部分的 migrations 並從特定一版重來。

2017年5月27日 星期六

2017年5月18日 星期四

2017年5月14日 星期日

【DB】Auto increment run out of int

今天在查資料時候突然想到,大學第一次學主鍵自動增值的一個疑問
如果自動增值把 int 用完了怎麼辦?

2017年4月27日 星期四

【SQL】Query for Table schema

如題,這個還可以查 View
SELECT COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_NAME = 'tName'

ref: SO

2017年3月8日 星期三

2017年2月24日 星期五

【Entity Framework】Using WHERE IN Clause in Stored Procedure by Entity Framework

這題的問題在 EF ObjectContext 的 YourDbEntities 幫你匯進來的方法參數部分是根據宣告內容哈死的,比方說
Create Proc usp_SelectSomething 
@Column1 int,
@Column2 varchar(255)
As 
    Select * From Table 
    Where Column1 = @Column1 AND Column2 = @Column2
Go
這樣的話在C# EF 取就會是
public ObjectResult sp_SelectSomething(global::System.Int32 column1, global::System.String column2)
{
    ...
}
_MyDbEntitie.usp_SelectSomething(column1, column2);
但是這樣就沒辦法應對 WHERE col IN(...) 的應用,因為無法動態產生不定數量的參數。

2017年2月23日 星期四

【C#】PredicateBuilder usage tip

動態串接 AND, OR 條件應該算是非常常見的需求,在 Linq 段我們常會用 PredicateBuilder 這個擴充來達成,但這個擴充使用上我覺得不是那麼直觀,這篇主要只是要簡單紀錄下
var predicateA = PredicateBuilder.False<YourClass>();
var predicateB = PredicateBuilder.True<YourClass>();
的差異

【C#】Exception when trying Where a PredicateBuilder predicate

Cannot convert expression type 'System.Linq.Expressions.Expression>' to return type 'System.Func'

無法從 'System.Linq.Expressions.Expression>' 轉換為 'System.Func'

2017年2月16日 星期四

【Dapper】'System.Data.SqlClient.SqlConnection' does not contain a definition for 'Query'

剛 Nuget Dapper 然後貼了個範例就立碼噴
'System.Data.SqlClient.SqlConnection' 不包含 'Query' 的定義,也找不到擴充方法 'Query' 來接受類型 'System.Data.SqlClient.SqlConnection' 的第一個引數 (您是否遺漏 using 指示詞或組件參考?)

'System.Data.SqlClient.SqlConnection' does not contain a definition for 'Query' and no extension method 'Query' accepting a first argument of type 'System.Data.SqlClient.SqlConnection' could be found (are you missing a using directive or an assembly reference?)

2017年1月10日 星期二

【ASP.NET MVC】The resource cannot be found.

找不到資源。

The resource cannot be found. Description: HTTP 404. The resource you are looking for (... 之類的

2017年1月5日 星期四

【ASP.NET MVC】The model item passed into the dictionary is of type 'TypeA' but this dictionary requires a model item of type 'TypeB'

The model item passed into the dictionary is of type 'TypeA' but this dictionary requires a model item of type 'TypeB'

在 Html.RenderPartial(..., TypeB) 時發生
傳入此字典的模型項目為型別 'TypeA',但是此字典需要型別 'TypeB' 的模型項目。
的錯誤。