【发布时间】:2020-04-25 07:46:49
【问题描述】:
我需要在两个班级赞助商和访客之间添加一对一的关系 但是当运行代码时我有错误说是: “adminSection.Models.Sponsor”类型的属性“Sponsor_ID”上的 ForeignKeyAttribute 无效。在依赖类型“adminSection.Models.Sponsor”上找不到导航属性“Visitor”。 Name 值应该是有效的导航属性名称。
我的班级: 赞助商
public partial class Sponsor
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Key]
// [ForeignKey("Visitor")]
public int Sponsor_ID { get; set; }
/// <summary>
/// Sponsor_ID att section
/// success
/// </summary>
[Required(ErrorMessage ="you must provide full name")]
[Display(Name ="Full Name")]
public string Sponsor_FullName { get; set; }
/// <summary>
/// Sponsor_FullName section
/// done
/// </summary>
[Required(ErrorMessage ="you Must Provide Email Address")]
[Display(Name ="Email Address")]
[DataType(DataType.EmailAddress)]
public string Sponosr_Email { get; set; }
/// <summary>
/// Sponosr_Email
/// done
/// </summary>
[Required(ErrorMessage ="you must provide password")]
[Display(Name ="Password")]
[DataType(DataType.Password)]
public string Sopnsor_Password { get; set; }
/// <summary>
/// Sopnsor_Password section
/// done
/// </summary>
[Required(ErrorMessage ="You must provide your Image")]
[Display(Name ="Upload Image")]
public string Sponsor_Image_Path { get; set; }
/// <summary>
/// Sponsor_Image_Path section
/// done
/// </summary>
///
[Required(ErrorMessage = "You must provied phone number")]
[Display(Name = "Phone number")]
[DataType(DataType.PhoneNumber)]
public string Sponsor_Phone { get; set; }
/// <summary>
/// admin phone number att here
/// </summary>
///
[Required(ErrorMessage ="you must provide Sponsor location")]
[Display(Name ="Location")]
public string Sponsor_Location { get; set; }
public string User_Type { get; set; }
//public int visitor_id { get; set; }
public virtual Visitor visitor { get; set; }
//public int Minisry_Id { get; set; }
//public virtual Minsitry ministry { get; set; }
}
和访问者类:
public partial class Visitor
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Key]
public int Visitro_ID { get; set; }
/// <summary>
/// ID Att Section
/// Section success
/// </summary>
[Required(ErrorMessage ="you must provide your full name")]
[Display(Name ="Full Name")]
public string Visitor_FullName { get; set; }
/// <summary>
/// Full Name Att Section
/// Section success
/// </summary>
///
[Required(ErrorMessage ="You must provide your Email")]
[Display(Name ="Email Address")]
[DataType(DataType.EmailAddress)]
public string Visitor_Email { get; set; }
/// <summary>
/// Email Address Att Section
/// section success
/// </summary>
///
[Required(ErrorMessage ="you must provide password")]
[Display(Name ="Password")]
[DataType(DataType.Password)]
public string Visitor_Password { get; set; }
/// <summary>
/// Password Att Section
/// section success
/// </summary>
///
[Required(ErrorMessage ="you must provide phone number")]
[Display(Name ="Phone Number")]
[DataType(DataType.PhoneNumber)]
public int Visitor_Phone { get; set; }
/// <summary>
/// Phone Number Att Section
/// Section success
/// </summary>
[Required(ErrorMessage ="you must upload your Image")]
[Display(Name ="upload Image")]
public string Visitor_Image_Path { get; set; }
/// <summary>
/// Image Path Att Section
/// Section success
/// </summary>
public string User_Type { get; set; }
/// <summary>
/// User type Section
/// Section success
/// </summary>
///
public virtual ICollection<volunteer> volunterr { get; set; }
/// <summary>
/// Visior with volunteer has relation one to many
/// section success
/// sectioin success
/// </summary>
///
public int Sponsor_ID { get; set; }
public virtual Sponsor sponsor { get; set; }
//public int Sponsor_ID { get; set; }
////[ForeignKey("Visitor")]
//public virtual Sponsor sponsor { get; set; }
}
我的上下文数据库:
public DbSet<Visitor> visitor { get; set; }
/// <summary>
/// Mapping with Database
/// </summary>
///
public DbSet<Sponsor> sponsor { get; set; }
/// <summary>
/// Mapping with Database
/// </summary>
///
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Visitor>()
.HasRequired(s => s.sponsor)
.WithOptional(ad => ad.visitor);
}
【问题讨论】:
标签: asp.net asp.net-mvc model-view-controller