「UserProfile」を別のモデル「Data」に関連付けようとしています。
ユーザー プロファイル モデル:
[Table("UserProfile")]
public class UserProfile
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
public string UserName { get; set; }
public string FullName { get; set; }
}
データ・モデル:
[Table("Data")]
public class Data
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int DataID { get; set; }
[Required]
[Display(Name = "DataName")]
public string DataName { get; set; }
[Required]
[Display(Name = "Created Date")]
public DateTime CreatedDate { get; set; }
public int? ManagedByUserId { get; set; }
[Required]
[ForeignKey("ManagedByUserId")]
[Display(Name = "Managed By")]
public UserProfile ManagedByUser { get; set; }
}
ここで、ManagedByUserId はデータ テーブルの foriegnkey です。
命名規則に問題はありますか? ただし、プロパティ エラーが発生します"ManagedByUser" is required
。このため、 myModelState
は無効 ( ModelState.IsValid
is false
) であるため、データは保存されません。