更新实体框架6数据库C#

时间:2015-06-09 07:40:26

标签: c# sql-server entity-framework-6

我正在尝试更新我的数据库并将值插入其中一列"LongitudinalId",但是只要我在包管理器控制台中运行 update-database 命令,它给了我这个错误:

  

无法将值NULL插入列'LongitudinalId',表中   'TruckDbWcf.dbo.Chassis';列不允许空值。更新失败。   声明已经终止。

以下是我尝试插入数据的代码:

            context.Chassis.AddOrUpdate<Chassis>(x => x.Name,
                new Chassis { Name = "DAIHATSU DELTA V116", LongitudinalId = context.StockItems.Where(x => x.StockCode == "SCH100").First().Id },
                new Chassis { Name = "DAIHATSU DELTA V116 PLUS", LongitudinalId = context.StockItems.Where(x => x.StockCode == "SCH100").First().Id },
                new Chassis { Name = "DAIHATSU DELTA V58", LongitudinalId = context.StockItems.Where(x => x.StockCode == "SCH100").First().Id },
                new Chassis { Name = "FAW", LongitudinalId = context.StockItems.Where(x => x.StockCode == "SCH100").First().Id },
                ... //It goes on for about 100 more lines
                new Chassis { Name = "VOLKSWAGEN VW 24-250 LWB (D AXLE)", LongitudinalId = context.StockItems.Where(x => x.StockCode == "SCH110").First().Id });

现在我已经检查过我要在{strong>每一行中插入需要"LogitudinalId"的数据,但是我无法弄清楚为什么它给了我这么多麻烦并投掷我上面给出的错误。

我还尝试删除数据库以及删除已存在于该特定表中的当前数据,但我没有在哪里。如果有人可以提供帮助,我会非常感激! :)

EDIT-我使用LogitudinalId创建表格的类:

public class Chassis
{
    public int Id { get; set; }
    public string Name { get; set; }

    public int? LongitudinalId { get; set; }
    [ForeignKey("LongitudinalId")]
    public virtual StockItem ChassisLongitudinal { get; set; }
}

0 个答案:

没有答案