我得到了上面的消息,我可以看到错误在哪里,这是我对MVC的新代码,请帮助{“无效列名‘供应商_地址_地址_ID’”}。
public class Supplier
{
[Key]
public int SupplierID { get; set; }
//[Required]
//[StringLength(20, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 2)]
[Required(ErrorMessage = "Company Name is required")]
[DisplayName("Company Name ")]
public string Company_Name { get; set; }
[Required(ErrorMessage = "First Name is required")]
[DisplayName("First Name")]
public string Supplier_Name { get; set; }
[Required(ErrorMessage = "Surname Name is required")]
[DisplayName("Surname Name")]
public string Supplier_Last { get; set; }
[DisplayName("Title")]
public string Title { get; set; }
[DisplayName("Address")]
//[ForeignKey("Address_ID")]
public int? Address_ID { get; set; }
[DisplayName("Contact")]
public int? Details_ID { get; set; }
[Display(Name = "Full Name")]
public string FullName
{
get
{
return Supplier_Name + ", " + Supplier_Last;
}
}
public virtual Supplier_Address Supplier_Address { get; set; }
}
public class Supplier_Address
{
// [ForeignKey("Supplier")]
[Key]
public int Address_ID { get; set; }
[Required(ErrorMessage = "Address Name is required")]
[DisplayName("Address")]
public string Address_1 { get; set; }
[DisplayName(" ")]
public string Address_2 { get; set; }
[Required(ErrorMessage = "Country is required")]
public string Country { get; set; }
[Required(ErrorMessage = "City is required")]
public string City { get; set; }
[Required(ErrorMessage = "State is required")]
public string State { get; set; }
[Required(ErrorMessage = "Pcode is required")]
public int? Pcode { get; set; }
public virtual Supplier Supplier { get; set; }
}这是我的控制器
public DbSet<Supplier> Suppliers { get; set; }
public DbSet<Supplier_Address> Supplier_Addresses { get; set; }
protected override void OnModelCreating(DbModelBuilder modeBuilder)
{
// this the Suppler and Address
modeBuilder.Entity<Supplier>()
.HasOptional(s => s.Supplier_Address)
.WithMany();
modeBuilder.Conventions.Remove<PluralizingTableNameConvention>();
base.OnModelCreating(modeBuilder);这是错误消息:
{“无效列名‘Supplier_Address_Address_ID’”}
发布于 2015-03-30 05:37:05
这是一个EntityFramework问题,EntityFramework默认的codefirst生成是非常惯例驱动的。您应该将ForeignKey与引用对象一起保存,并将相应的Id作为Id提及。
[DisplayName("Address_ID")]
public int? Address_ID { get; set; }
public virtual Supplier_Address Supplier_Address { get; set; }有了这个特殊的更改,我就能够让事情正常工作,并生成表。
https://stackoverflow.com/questions/29335881
复制相似问题