ฉันกำลังใช้ ASP.NET Boilerplate MVC(ไม่แข็ง)อยู่ในต้นแบบโครงการของฉันซึ่งใช้ EF6 ที่ ORM. ฐานข้อมูลเป็นภาษา sql เซิร์ฟเวอร์อธิบายได้
นี่คือของรายการสิ่ง(ไม่สนใจไม่เกี่ยวข้องกันคุณสมบัติ):
public class Asset : AggregateRoot<long>
{
[DataType(DataType.DateTime)]
public DateTime? LastControlTime { get; set; }
}
ตอนที่ฉันสร้างใหม่ของเราไปช่องข้อมูลนี้แล้วสร้างเป็นโพรโทคอล aimcomment. ดังนั้นทุกอย่างที่ทำงานเป็ intented ในตอนแรก แต่ตอนที่ฉันพยายามที่จะปรับปรุงเป็นวัตถุด้วยของธรรมดาแบบบริการเรียกมัภาพแผ่นเหล็ก,สกรูขึ้น.
นี่เป็นวิธีการอยู่ในโปรแกรมบริการนักเรียน:
public void ResetLastControlTime (EntityDto<long> input)
{
var asset = Repository.Get(input.Id);
asset.LastControlTime = default(DateTime?);
}
นี่ควรจะตั้งค่าเรื่องนั้นต้องโพรโทคอล aimcomment. ฉันยังพยายาม asset.LastControlTime = null;
. แต่ในที่สุดมันเขียน"0001-01-0100:00:00.0000000"เพื่อนที่สนามในฐานข้อมูล ฉันมีหลายที่เลยในรหัสที่ฉันควบคุมสำหรับโพรโทคอล aimcomment ค่าดังนั้นตอนนี้ฉันต้องเปลี่ยนนิวตรอนของเก่าของแฟ้มหรือผมต้องหาทางที่จะปรับค่าที่สนามเพื่อเพียงโพรโทคอล aimcomment.
ฉันตรวจดูคำถามที่คล้ายกันอยู่แต่ไม่สามารถหาคำตอบเองละกันนะ พวกเขาทั้งหมจะบอกเรื่อง nullable DateTime ซึ่งฉันมีแผนเรียบร้อยแล้วล่ะ ในภาษา sql เซิร์ฟเวอร์โต๊ะรูปแบบชุดสี,ชนิดข้อมูลเป็น datetime2(7)
ดังนั้นฉันเดาว่านั่นถูกต้องเหมือนกัน โอ้และทำการลบที่ DataType หมายเหตุประกอบ annotation tool ยังไม่ได้เปลี่ยนแปลงอะไรเลย
ดังนั้นฉันพลาดอะไรที่นี่ไป? สิ่งที่ฉันควรจะตรวจสอบเพื่อหากษาที่สถาบันเหมือนกันนะ