2016-10-03 4 views
1

Riddle_Question: : The types of all properties in the Dependent Role of a referential constraint must be the same as the corresponding property types in the Principal Role. The type of property 'RiddleId' on entity 'Question' does not match the type of property 'Id' on entity 'Riddle' in the referential constraint 'Question_Riddle'.モデル生成エラー

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.Entity.ModelConfiguration.ModelValidationException: One or more validation errors were detected during model generation:

Riddle_Question: : The types of all properties in the Dependent Role of a referential constraint must be the same as the corresponding property types in the Principal Role. The type of property 'RiddleId' on entity 'Question' does not match the type of property 'Id' on entity 'Riddle' in the referential constraint 'Question_Riddle'.

Source Error:

Line 76:    // This doesn't count login failures towards account lockout 
Line 77:    // To enable password failures to trigger account lockout, change to shouldLockout: true 
Line 78:    var result = await SignInManager.PasswordSignInAsync(model.UserName, model.Password, model.RememberMe, shouldLockout: false); 
Line 79:    switch (result) 
Line 80:    { 

謎モデル:

public class Riddle 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
    [MaxLength(200)] 
    [DataType(DataType.MultilineText)] 
    public string Description { get; set; } 
    public virtual List<Review> Reviews { get; set; } 
    public virtual ApplicationUser User { get; set; } 
    public virtual List<Question> Questions { get; set; } 
    [Column(TypeName = "datetime2")] 
    public DateTime CreationDate { get; set; } 
} 

質問モデル:

public class Question 
    { 
     public int Id { get; set; } 
     [MaxLength(2000)] 
     [DataType(DataType.MultilineText)] 
     public string Body { get; set; } 
     public string Answer { get; set; } 
     public Riddle Riddle { get; set; } 
     [Column(TypeName = "datetime2")] 
     public int RiddleId { get; set; } 
     public DateTime CreationDate { get; set; } 
     public int QuestionNumber { get; set; } 
    } 

それは

The type of property 'RiddleId' on entity 'Question' does not match the type of property 'Id' on entity 'Riddle' in the referential constraint 'Question_Riddle'.

言うしかし彼らは両方ともt。だから彼らは一致する必要があります。私はここで何が欠けていますか?

答えて

2

属性が間違っています([Column(TypeName = "datetime2")])。それはCreationDateなくRiddleIdの上にオーバーする必要があります:それはRiddleIdフィールドは列の属性を使用した型DATETIME2のものでなければならないことを指定しているback.Youあなたを保持するだけのタイプミスだよう

public class Question { 
    ... 
    public Riddle Riddle { get; set; } 
    public int RiddleId { get; set; } 
    [Column(TypeName = "datetime2")] 
    public DateTime CreationDate { get; set; } 
    ... 
} 
+0

笑、右。どのように私はそれを見ることができませんでした。イゴールに感謝します。 – Gimballock

1

は思えます。

[Column(TypeName = "datetime2")] 
public int RiddleId { get; set; } 

おそらくべきである -

public int RiddleId { get; set; } 
[Column(TypeName = "datetime2")] 
public DateTime CreationDate { get; set; } 
関連する問題