मैंने ASP.NET MVC application में अपने मॉडल में से किसी एक को [Required]
डेटा एनोटेशन जोड़ा है। एक प्रवास का निर्माण, निम्न त्रुटि में Update-Database
आदेश परिणाम चलाने के बाद:इकाई फ्रेमवर्क माइग्रेशन में आवश्यक फ़ील्ड के लिए डिफ़ॉल्ट मान?
Cannot insert the value NULL into column 'Director', table 'MOVIES_cf7bad808fa94f89afa2e5dae1161e78.dbo.Movies'; column does not allow nulls. UPDATE fails. The statement has been terminated.
यह उनकी Director
कॉलम में शून्य होने कुछ रिकॉर्ड के कारण है। मैं उन मानों को स्वचालित रूप से कुछ डिफ़ॉल्ट रूप से कैसे बदल सकता हूं ("जॉन डो" कहें) निदेशक?
public class Movie
{
public int ID { get; set; }
[Required]
public string Title { get; set; }
[DataType(DataType.Date)]
public DateTime ReleaseDate { get; set; }
[Required]
public string Genre { get; set; }
[Range(1,100)]
[DataType(DataType.Currency)]
public decimal Price { get; set; }
[StringLength(5)]
public string Rating { get; set; }
[Required] /// <--- NEW
public string Director { get; set; }
}
यहाँ है मेरी नवीनतम प्रवास और:
यहाँ मेरी मॉडल है
public partial class AddDataAnnotationsMig : DbMigration
{
public override void Up()
{
AlterColumn("dbo.Movies", "Title", c => c.String(nullable: false));
AlterColumn("dbo.Movies", "Genre", c => c.String(nullable: false));
AlterColumn("dbo.Movies", "Rating", c => c.String(maxLength: 5));
AlterColumn("dbo.Movies", "Director", c => c.String(nullable: false));
}
public override void Down()
{
AlterColumn("dbo.Movies", "Director", c => c.String());
AlterColumn("dbo.Movies", "Rating", c => c.String());
AlterColumn("dbo.Movies", "Genre", c => c.String());
AlterColumn("dbo.Movies", "Title", c => c.String());
}
}
मैं इतना भी सोचा, लेकिन यह है कि मौजूदा रिकॉर्ड के लिए काम करते प्रतीत नहीं होता। तो मुझे अभी भी एक त्रुटि मिलती है। – drozzy
@drozzy शायद यह बग है, जैसा कि यहां है: [ईएफ 4.3.1 माइग्रेशन अपवाद - AlterColumn defaultValueSql अलग-अलग तालिकाओं के लिए एक ही डिफ़ॉल्ट बाधा नाम बनाता है] (http://stackoverflow.com/questions/9830216/ef-4-3-1 -माइग्रेशन-अपवाद-अल्टरकॉलम- defaultvaluesql-creates-same-default /) आप अपनी क्वेरी द्वारा 'IS NULL' चेक के साथ पंक्तियां अपडेट कर सकते हैं। – webdeveloper
दिलचस्प है, लेकिन मुझे यकीन नहीं है कि मैं समझता हूं कि वे किस बारे में बात कर रहे हैं। हालांकि, अगर यह एक बग है, तो हाँ, यह समझ में आता है। – drozzy