เพื่อความเรียบง่าย. ฉันใช้ Automapping ของ Fluent NHibernate รวมกับ SchemaUpdate ของ NHibernate ในระหว่างรันไทม์ ในการรันแต่ละครั้ง Automapper จะสร้างการแมปสำหรับคลาสเอนทิตีทั้งหมด และ SchemaUpdate จะใช้สคีมากับฐานข้อมูลที่มีอยู่ ฉันรู้สึกประหลาดใจมากที่มันทำงานได้อย่างถูกต้องกับฐานข้อมูลที่ว่างเปล่าเช่นกัน จนถึงตอนนี้ มันทำงานได้ดีในสภาพแวดล้อมการพัฒนา และทำให้ฉันตอบสนองต่อจุดบกพร่องได้ค่อนข้างรวดเร็ว
คำถามของฉันคือว่าเชื่อถือได้เพียงพอที่จะฝากไว้ในรหัสการผลิตหรือไม่ แน่นอนว่าไม่จำเป็นต้องรันทุกครั้งที่โปรแกรมเริ่มทำงานในสภาพแวดล้อมการใช้งานจริง แต่จะมีประโยชน์สำหรับการอัปเดตผลิตภัณฑ์เพิ่มเติม (แม้ว่าฉันจะไม่ได้วางแผนที่จะทำการเปลี่ยนแปลงที่สำคัญใดๆ ในโดเมนหลังจากจัดส่งผลิตภัณฑ์แล้ว)
(บางทีคำถามที่แท้จริงของฉันควรจะปลอดภัยแค่ไหนหากใช้เครื่องมือทั้งสองนี้ร่วมกัน)
อัปเดต
แอปพลิเคชันมีสองเวอร์ชัน: เดสก์ท็อปแบบสแตนด์อโลนและไคลเอนต์/เซิร์ฟเวอร์ที่มีผู้ใช้หลายราย เนื่องจากลักษณะของโดเมนธุรกิจ (ซอฟต์แวร์ด้านภาษี) ฉันมีความหรูหราในการเริ่มต้นด้วยฐานข้อมูลที่สะอาดในแต่ละปี