簡體   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