เครื่องกำเนิดไฟฟ้านี้สร้างรหัสเช่นผู้เชี่ยวชาญด้านการย้อนกลับฐานข้อมูลของคุณและสร้างรหัสให้คุณ สมบูรณ์แบบ.
Reverse Engineers ฐานข้อมูลที่มีอยู่และสร้างรหัส Entity Framework คลาส POCO First, การแมปการกำหนดค่า, การแจกแจง, DBContext, FakedBContext (สำหรับการทดสอบหน่วยง่าย ๆ ) และการโทรขั้นตอนที่เก็บไว้และฟังก์ชั่นที่มีค่าตาราง
รหัสที่สร้างขึ้นอย่างสวยงามรหัสแรกที่ปรับแต่งได้อย่างสมบูรณ์
โปรดทราบว่านี่ไม่ใช่เครื่องกำเนิดกลับของ Microsoft เครื่องกำเนิดไฟฟ้านี้สร้างรหัสราวกับว่าคุณย้อนกลับฐานข้อมูลและสร้างรหัสด้วยมือด้วยความรัก นอกจากนี้ยังช่วยให้คุณปรับแต่งรหัสที่สร้างขึ้นตามความชอบของคุณ
หากคุณชอบหรือใช้โครงการนี้โปรดให้ดาว ขอบคุณ!
ฟรีสำหรับนักวิชาการ (คุณต้องมีที่อยู่อีเมล. edu, .ac หรือ. sch) ไม่ฟรีสำหรับการใช้งานเชิงพาณิชย์
ไปที่เว็บไซต์ REVERSEPOCO สำหรับรหัสใบอนุญาตของคุณ
โปรดอ่านเอกสารการอัพเกรด
คลิกที่นี่เพื่อดูว่ามีอะไรใหม่ในรุ่นนี้
เครื่องกำเนิดไฟฟ้านี้ได้รับการออกแบบให้ปรับแต่งได้ตั้งแต่เริ่มต้นและไม่ได้รับการแก้ไขและแข็งเหมือนเครื่องกำเนิดไฟฟ้าอื่น ๆ เล่นกับการตั้งค่าในไฟล์ <database>.tt นั่นคือสิ่งที่มีไว้เพื่อ
หากฐานข้อมูลของคุณเปลี่ยนแปลงให้บันทึกไฟล์ <database>.tt อีกครั้ง แค่นั้นแค่นั้น
คลิกที่นี่เพื่อดูรายการคุณสมบัติทั้งหมด
ใช้ NUGET และติดตั้งแพ็คเกจ NUGET ที่เกี่ยวข้องสำหรับฐานข้อมูลของคุณ
install-package Microsoft.EntityFrameworkCore.SqlServerinstall-package EntityFramework Settings.ConnectionString เป็นสิ่งจำเป็นใน V3 ดังนั้นคุณต้องจัดเตรียมสตริงการเชื่อมต่อจาก App.Config/Web.config/AppSettings.json ของคุณ เครื่องกำเนิดไฟฟ้าใช้สตริงการเชื่อมต่อนี้เพื่อย้อนกลับฐานข้อมูลของคุณ มันไม่ได้อ่านสตริงการเชื่อมต่อของคุณจาก *.config ไฟล์อีกต่อไป
ตัวอย่างเช่น:
การตั้งค่า connectionString = "แหล่งข้อมูล = (local); แคตตาล็อกเริ่มต้น = northwind; การรักษาความปลอดภัยแบบรวม = true; encrypt = false; trustServerCertificate = true";
สตริง Settings.ConnectionString ที่คุณใช้จะต้องมีสิทธิ์อย่างน้อยเหล่านี้: ddladmin , datareader และ datawriter ddladmin เป็นสิ่งจำเป็นสำหรับการอ่านข้อ จำกัด เริ่มต้น
ใน Visual Studio โครงการคลิกขวาและเลือก "เพิ่ม - รายการใหม่"
เลือกออนไลน์และค้นหา POCO ย้อนกลับ
เลือก EntityFramework Reverse Poco Generator
ให้ชื่อไฟล์เช่น Database.tt แล้วคลิกเพิ่ม
แก้ไขไฟล์ Database.tt และระบุสตริงการเชื่อมต่อแบบเต็มใน Settings.ConnectionString Generater ใช้สิ่งนี้เพื่ออ่านสคีมาฐานข้อมูลของคุณและย้อนกลับวิศวกร
แก้ไขไฟล์ Database.tt และระบุสตริงการเชื่อมต่อใน Settings.ConnectionStringName ซึ่งตรงกับคีย์การเชื่อมต่อตามที่ระบุไว้ใน appsettings.json , app.config หรือ web.config
บันทึกไฟล์ Database.tt ซึ่งตอนนี้จะสร้างไฟล์ Database.cs ทุกครั้งที่คุณบันทึกไฟล์ Database.tt เครื่องกำเนิดไฟฟ้าจะย้อนกลับวิศวกรฐานข้อมูลของคุณ
มีตัวเลือกมากมายที่คุณสามารถใช้เพื่อปรับแต่งรหัสที่สร้างขึ้น การตั้งค่าทั้งหมดเหล่านี้อยู่ในไฟล์ Database.tt
Settings.ConnectionString เป็นสิ่งจำเป็นในเวอร์ชัน 3 เครื่องกำเนิดไฟฟ้าใช้เพื่ออ่านสคีมาฐานข้อมูลของคุณ สตริงการเชื่อมต่อจะถูกเลือกไว้ในฟังก์ชัน OnConfiguring:
protected override void OnConfiguring ( DbContextOptionsBuilder optionsBuilder ) { { #n ewline } }
{ { { #n ewline } }
if ( ! optionsBuilder . IsConfigured ) { { #n ewline } }
{ { { #n ewline } }
optionsBuilder . UseSqlServer ( @"" { { ConnectionString } } "" ) ; { { #newline } }
} { { #n ewline } }
} { { #n ewline } } { { #n ewline } } Settings.ConnectionStringName นี้ไม่ได้ใช้โดยเครื่องกำเนิดไฟฟ้า แต่ถูกวางไว้ในตัวสร้าง DBContext ที่สร้างขึ้นผ่านการเรียกไปยัง Settings.DefaultConstructorArgument
public { { DbContextName } } ( ) { { #n ewline } }
{ { #if HasDefaultConstructorArgument } }
: base ( { { DefaultConstructorArgument } } ) { { #n ewline } }
{ { / if } }UI ที่เรียบง่ายสำหรับเครื่องกำเนิดไฟฟ้ามีอยู่ที่ GitHub ซึ่งช่วยให้คุณสร้าง regex เพื่อกรองตารางของคุณ
เพื่อให้มีการเน้นไวยากรณ์เต็มรูปแบบและ IntelliSense เมื่อแก้ไขไฟล์ TT ฉันใช้ปลั๊กอิน Resharper Fortea ฉันไม่สามารถจินตนาการถึงการแก้ไขไฟล์ TT หากไม่มีมัน
ไม่จำเป็นต้องแก้ไขไฟล์ EF.Reverse.POCO.v3.ttinclude โดยตรงเนื่องจากไฟล์นี้ถูกสร้างขึ้นจากโครงการ C# ที่เก็บนี้รวมถึงไฟล์ buildtt ที่สร้าง EF.Reverse.POCO.v3.ttinclude จากโครงการ Generator C#
ได้อ่าน [https://github.com/blog/1943-how-to-write-the-perfect-pull-request-โปรดเขียนคำขอดึงที่สมบูรณ์แบบ)
ความต้องการของฉันง่าย:
EF.Reverse.POCO.v3.ttinclude ที่เก็บนี้รวมถึงโครงการ BuildTT ที่สร้าง EF.Reverse.POCO.v3.ttinclude จากโครงการ Generator C#ขอแสดงความนับถือ Simon Hughes