繁体   English   中英

C#实体框架-无效的列名

[英]C# Entity Framework - Invalid column name

我有两个类的上下文:

在Brand类中,有一个Bike对象列表。

当我尝试将Bike列表放入Brand实例时,程序将向我返回此异常:

Invalid column name 'Strokes'.
Invalid column name 'BrandBike_BrandID'.

这是我的情况:

public class MyContext: DbContext
{
    public DbSet<Brand> Brands{ get; set; }
    public DbSet<Bike> Bikes{ get; set; }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        Database.SetInitializer<MyContext>(null);
        base.OnModelCreating(modelBuilder);
    }
}

这是我名为Brand的课程:

public class Brand
{
    [Key]
    public int BrandID { get; set; }
    [Required]
    public string Name { get; set; }
    public Country Nationality { get; set; }

    public virtual List<Bike> Models { get; set; }
}

public class Bike
{
    [Key]
    public int BikeID { get; set; }

    public string Model { get; set; }
    public BikeCategory Category { get; set; }
    public int EngineCapacity { get; set; }
    public int Strokes { get; set; }
    public double Price { get; set; }

    public virtual Brand BrandBike { get; set; }
}

这是Brand表结构:

CREATE TABLE [dbo].[Brands] (
[BrandID]     INT            IDENTITY (1, 1) NOT NULL,
[Name]        NVARCHAR (MAX) NULL,
[Nationality] INT            NOT NULL,
CONSTRAINT [PK_dbo.Brands] PRIMARY KEY CLUSTERED ([BrandID] ASC)
);

自行车表的结构如下:

CREATE TABLE [dbo].[Bikes] (
[BikeID]        INT            IDENTITY (1, 1) NOT NULL,
[Model]       NVARCHAR (MAX) NULL,
[Category]      INT            NOT NULL,
[EngineCapacity]    INT            NOT NULL,
[Price]        FLOAT (53)     NOT NULL,
[Brand_BrandID] INT            NULL,
CONSTRAINT [PK_dbo.Bikes] PRIMARY KEY CLUSTERED ([BikeID] ASC),
CONSTRAINT [FK_dbo.Bikes_dbo.Brands_Brand_BrandID] FOREIGN KEY 
([Brand_BrandID]) REFERENCES [dbo].[Brands] ([BrandID])
);


GO
CREATE NONCLUSTERED INDEX [IX_Brand_BrandID]
ON [dbo].[Bikes]([Brand_BrandID] ASC);

我该如何克服这个问题?

要解决“无效的列名'BrandBike_BrandID'”错误,您需要在表Bike添加一个名为BrandId的列。 此列应存储与自行车相关的BrandId

我没有您的Bike表结构,但是“无效列名'Strokes'”表示该表中没有名为Strokes列。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM