首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >{“无效列名‘Supplier_Address_Address_ID’”}在mvc 5中

{“无效列名‘Supplier_Address_Address_ID’”}在mvc 5中
EN

Stack Overflow用户
提问于 2015-03-29 22:50:21
回答 1查看 308关注 0票数 0

我得到了上面的消息,我可以看到错误在哪里,这是我对MVC的新代码,请帮助{“无效列名‘供应商_地址_地址_ID’”}。

代码语言:javascript
复制
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; }
}

这是我的控制器

代码语言:javascript
复制
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’”}

EN

回答 1

Stack Overflow用户

发布于 2015-03-30 05:37:05

这是一个EntityFramework问题,EntityFramework默认的codefirst生成是非常惯例驱动的。您应该将ForeignKey与引用对象一起保存,并将相应的Id作为Id提及。

代码语言:javascript
复制
[DisplayName("Address_ID")]
public int? Address_ID { get; set; }
public virtual Supplier_Address Supplier_Address { get; set; }

有了这个特殊的更改,我就能够让事情正常工作,并生成表。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29335881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档