[Dapper] Query Parent-Child อย่างไร ?

หลังจากลองทำ Framework ที่เอา Dapper เป็น ORM ครับ ตอนนี้ก็ติดปัญหาว่า เราจะดึงข้อมูลที่อยู่ในรูปแบบ Parent-Child กันอย่างไรครับ โดยผมมีรายละเอียด ดังนี้ โจทย์ที่ผมต้องการ คือ เวลา Query ข้อมูลจาก Table Corporateaction แล้ว ให้มันดึงข้อมูลของ Table ลูก CorporateDetail ขึ้นมาให้หมด โดยการ Query เพียงคร้งเดียวเท่านั้นครับ POCO Class ของผม มีโครงคร่าวๆ ดังนี้ครับ Query ที่ผมเขียนไว้ Code ในส่วนของ Data Access ผมเขียนประมาณนี้ครับ เดี๋ยวมาอธิบาย Code ของ Data Access กันก่อนครับ สังเกตุว่าจริงๆ มันก็ Query มาทั้งหมดครับ แต่ใช้ Feature Data Mapping กับ Dictionary มาช่วยจัด Data ให้อยุ่ใน Format ที่ต้องการครับ สำหรับ Blog นี้เกิดจากการไปขุด Unit Test ของ Dapper ครับ จาก Dapper/Dapper.Tests/MultiMapTests.cs ซึ่งนั้นหมายความว่า ถ้า Library มีเป็นลักษณะ Open Source ถึงแม้ว่าเราจะไม่เจอคู่มือ แต่เราสามารถไปดู Unit Test เพื่อมาศึกษา และประยุกต์ใช้ง่ายได้ครับ ^___^ Reference

[MSSQL] ขยับมาใช้ MSSQL ON LINUX 2017 กันดีกว่า

หลังจาก Blog ในปีก่อนโน้นนนนนนน ผมได้ลองใช้ MSSQL on Linux 2016 ไปแล้ว มาปีนี้ ในงานเล็กๆ ของเด็กฝึกงาน มาในปีนี้ พอดีกำลังเริ่ม Project ใหม่ ที่มีระยะเวลาทำระมาณ 3 เดือนครับ แม้จะ รู้ว่าเสี่ยง แต่คงต้องขอลอง โดยเอาตัว MSSQL on Linux 2017 มาใช้เป็น Dev-Environment สำหรับทำให้ทีมลองบ้างครับ สำหรับใน Blog ตอนนี้เขียนตั้งแต่ ช่วงลง MSSQL Database บน Ubuntu – Setup ขั้นตอนการติดตั้ง เขียนสั้นๆ และเน้นอะไรที่ผมไม่คุ้นใน MSSQL 2016 ที่เคยใช้งานนะครับ – Config Step Config ตัว MSSQL Server 2017 Note: Step ทั้งหมด ผมสรุปมาจาก Reference ของทาง Microsoft นะครับ ลอง Restore DB Note: สำหรับ Bash Command Line Path ที่ Restore (ที่เป็นพวก MDF, LDF) ยังคง Lock ไว้ที่ var/opt/mssql/data/ ครับ ไม่งั้นมันจะ Fail ทดสอบทำงานง่ายๆ เรื่องอื่นๆ หลังจากนี้ หากติดปัญหาอะไร เขียน Blog เรื่อยๆ และอาจจะมีการเขียน ฺBlog สรุปปิดท้ายครับ

นิทานเรื่องไก่กับหมู ไม่ได้เอามาใช้กับ Agile-Scrum ได้อย่างเดียว

บังเอิญได้คุยกับคนรู้จัก แล้วเค้าเล่านิทานเรื่อง ไก่กับหมู โดยเนื้อเรื่องประมาณว่า ไก่กับหมู เป็นเพื่อนกัน พอมาวันหนึ่งทั้งคู่เริ่มเบื่อกับงานประจำและ เลยอยากออกมาเป็นนายตัวเอง เป็นเจ้าของกิจการ ทั้งสองได้คุยกันแล้วคิดว่าอะไรที่เรามีต้นทุนอยู่แล้ว พร้อมสำหรับการเปิดร้าน ซึ่งไก่เสนอว่าเปิดร้าน Ham & Egg สิ นายก็มี Ham ส่วนฉันก็ไม่ไข่ไก่ ส่วนหมูพอได้ฟัง ดังนั้นแล้วคิดหนักเลย และก็ตอบไปว่าไม่เอาดีกว่า ทำไมหมูถึงไม่เอาหละ ลองมาคิดกันครับ มามองในมุมอื่นๆบ้าง เช่น Project Management หรือ Startup (ตามเทรนช่วงนี้) เดี๋ยวถ้าพบเจอในมุมอื่นๆ เดี๋ยวผมมาเขียน Blog เพิ่มนะครับ Reference

[VM] มาแปลง OS ของ Notebook ถอดจิตไปเป็น VM กันเถอะ

สำหรับ Blog เป็นการสรุปวิธีการย้าย OS จาก Notebook ที่เป็น Physical ไปเป็น Virtual Machine หรือ VM ครับ โดยสาเหตุที่ต้องทำ เพราะ License ของ Software ที่อยู่บน Notebook เครื่องนั้นมันมีมูลค่าเยอะอยู่ครับ ทั้ง Visual Studio ตัวเต็ม และ Dev-Express ครับ สำหรับขั้นตอนการทำมี ดังนี้ จบภาระกิจ Ghost in The Shell ไปอย่างสวยงามครับ ^___^ ตอนนี้ผมคงขอไปปั่น Term Project ก่อนครับ

[VirtualBox] Drag & Drop File Feature

ในตัว Virtual Box เอามี Feature Drag & Drop ครับ เอาไว้ลากไฟล์ จาก Host >> Guest หรือ Guest >> Host ได้ ครับ โดยใน Blog ตอนนี้ ผมได้รวบรวมข้อมูลที่จำเป็นสำหรับ Feature Drag & Drop มาครับ เปิดใช้งานกันก่อน ลากลงมาแล้ว(Host >> Guest) ไฟล์ไปไหน ลากลงมาแล้ว(Guest >> Host) ไฟล์ไปไหน ถ้าหาไฟล์ไม่เจอจริงๆ ในเครื่อง Host หรือ Guest

[.NET] การลง Visual Studio Build Tools

Visual Studio

สำหรับ Blog ในวันนี้ ผมมาเขียนเกี่ยวกับตัว Microsoft Visual Build Tools หลายๆ อาจจะสงสัยว่า มัน คือ อะไร มาลองทำความรู้จักกันดีกว่าครับ ถ้าเป็นเมื่อก่อน เวลาเราเอา Code ที่เขียนขึ้นไปทำเป็นไฟล์  .exe เพื่อที่จะเอาไปติดตั้ง สิ่งที่เราต้องทำ คือ มันดีกว่าไหม ถ้ามีตัวช่วย Build และไม่กิน Resource เหมือน  Microsoft Visual Studio คำตอบ คือ มีครับ และทำมาหลาย Version แล้วด้วยครับ ซึ่งนั้นก็คือ Microsoft Visual Build Tools ครับ มันเกิดมา เพื่อสิ่งเดียว คือ Build และทำ Static Code Analysis ครับ โดยการติดตั้งมีขั้นตอน ดังนี้ ติดตั้ง Visual Studio Build Tools

[MS Cert] มา Download ใบ Cert เก็บไว้กัน :D

หลังจากที่เตรียมตัวสอบมาหลายเรียน ลองทำ ลองหาแนวมาทำ จนได้ใบ Cert มาแล้วเนี่ย ถ้าเราอยาก Download มาเก็บไว้หละสามารถทำได้ตามขั้นตอน ดังนี้ครับ แต่ถ้าอยากได้ใบ Cert ที่ส่งตรงมาจาก Microsoft เอง ทางสามารถซื้อ(Purchase) ได้ครับ แต่ผมงบน้อย รอได้โบนัสก่อนแล้วจะลองมากดอีกทีครับ

Silver Bullet คือ อะไร

ที่มาเขียน Blog นี้ เพราะหลายๆคน พอพูดถึงเรื่อง Silver Bullet ทุกคนจะนึกถึง โคนัน นั้นเองครับ แล้วความจริง มันหมายถึงอะไรอ่า ตัว Silver Bullet หรือเรียกอีกชื่อว่า Magic Bullet โดยเจ้า Silver Bullet หมายถึง การจัดการปัญหา แล้วไม่มีปัญหาใด เกิดขึ้นตามมาอีกครับ ถ้าในเรื่อง โคนัน ถ้าใครได้ Codename Sliver Bullet คือ คนที่สามารถจัดการองค์กรชุดดำได้แบบถอดรากถอนโคนเลยครับ หลังจากรู้ความหมายแล้ว ลองมาดูที่มาของคำนี้ดีกว่าครับ Silver Bullet เกิดในสมัยยุคกลางครับ โดยมีความเชื่อกันว่า กระสุนที่ทำจากเงิน สามารถสังหารแม่มด แวมไพร์ มนุษย์หมาป่า หรือปีศาจอื่นๆ ให้ตายได้ทันทีครับ  พอผ่านไปมีคำอื่นๆมาที่ความหมายคล้ายกัน Magic Bullet มาเพิ่มเติม โดยเวลาใช้งานถ้าในบริบทของภาษาอังกฤษสามารถเอาไปใช้ได้เลยครับ เช่น There is no silver(magic) bullet for this project. There is silver(magic) bullet against him. สำหรับในด้าน Software Engineering มีอีกคำนึงครับ “no silver bullet” เดี๋ยวมาอธิบายใน Blog ตอนหน้าครับ

[VS2017] มาปรับจูนให้มันเร็วขึ้นดีกว่า

จาก Blog เดิม [.NET] ปรับ Speed ให้ Visual Studio เร็วแรงทะลุนรก ในปี 2015 ตอนนี้ปี 2017 แล้ว ตัว Visual Studio เปลี่ยนเป็น Version 2017 ถึงแม้ว่ามันบอกว่าทำให้เร็วขึ้นแล้วนะ แต่ก็เจอปัญหาเดิมๆครับ โปรแกรมช้า โดยสาเหคุหลักๆ มาจาก หากสังเกตดีๆ แล้วพบว่า Visual Studio 2017 Path Install มันเปลี่ยนไปนะ เป็น “C:\Program Files (x86)\Microsoft Visual Studio\2017” ครับ

[MS Cert] The Road to MCSD#04 (Ready for App Builder)

สำหรับ Blog นี้ตอนสุดท้ายของ Series MCSD: App Builder โดยผมมาสรุปว่า แต่ละวิชาที่ส่องๆ ไว้มีการเตรียมตัวอย่างไรบ้างครับ ซึ่งมี ดังนี้ ภาษาอังกฤษ 70-480: Programming in HTML5 with JavaScript and CSS3 ความรู้ ทักษะที่ต้องใช้ Resource/Reference ที่ผมใช้ 70-483: Programming in C# สำหรับวิชานี้ ผมเตรียมตัวไว้นะ แต่ไม่ได้สอบครับ ความรู้ ทักษะที่ต้องใช้ ในวิชานี้เป็นพื้นฐานของ C# ทั้งหมดเลย โดยมีเนื้อหาหลักๆที่ต้องเจอ Resource/Reference ที่ผมใช้ 70-486: Developing ASP.NET MVC Web Applications ใช้พื้นฐานจาก 70-480 และ 70-483 ความรู้ ทักษะที่ต้องใช้ Resource/Reference ที่ผมใช้ 70-487: Developing Microsoft Azure and Web Services ความรู้ ทักษะที่ต้องใช้ Resource/Reference ที่ผมใช้ แนวข้อสอบและการสอบ ท้ายที่สุดแล้ว ใบ Certification ที่ได้รับ มันถูกกองไว้ ถ้าเราเตรียมตัวศึกษามาแล้วใช้แค่สอบ แต่ไม่สามารถนำมาประยุกต์ใช้กับงานที่ทำได้ครับ ขอบคุณที่ท่านที่นั่งอ่านมาจนครบ 4 ตอนครับ