System.Data.SqlClient.SqlException(0x80131904):无效的列名'PayasYouGo'

By simon at 2018-02-28 • 0人收藏 • 47人看过

我目前正在关注使用数据库播种Mosh Hamedami教程 代码第一次迁移。不幸的是,我和他一起出现是错误System.Data.SqlClient.SqlException (0x80131904): Invalid column name 'PayasYouGo'。我 试图重新创建我的模型,但似乎没有任何工作。 该模型:

public class MembershipType

    {
        public byte Id { get; set; }
        public short SignUpFee { get; set; }
        public byte DurationInMonths { get; set; }
        public byte DiscountRate { get; set; }
        public string MembershipName { get; set; }
    }
移民代码
public partial class PopulateMembership : DbMigration
{
    public override void Up()
    {
        Sql("INSERT INTO MembershipTypes (Id, SignUpFee, DurationInMonths, DiscountRate, MembershipName) VALUES (1, 0, 0, 0, PayasYouGo)");
        Sql("INSERT INTO MembershipTypes (Id, SignUpFee, DurationInMonths, DiscountRate, MembershipName) VALUES (2, 30, 1, 10, Monthly)");
        Sql("INSERT INTO MembershipTypes (Id, SignUpFee, DurationInMonths, DiscountRate, MembershipName) VALUES (3, 90, 3, 15, Quarterly)");
        Sql("INSERT INTO MembershipTypes (Id, SignUpFee, DurationInMonths, DiscountRate, MembershipName) VALUES (4, 300, 12, 20, Annual)");
    }

    public override void Down()
    {
    }
}
[数据库迁移](https://i.stack.imgur.com/Hd77s.png) 我在这里做错了什么?什么导致了这个错误?这个错误是什么 意思?提前致谢

2 个回复 | 最后更新于 2018-02-28
2018-02-28   #1

你想提供一个string,但给SQL Server一个name。 SQL Server中的字符串文字被单一环节包围te字符:

    Sql(@"INSERT INTO MembershipTypes
          (Id, SignUpFee, DurationInMonths, DiscountRate, MembershipName)
          VALUES (1, 0, 0, 0, 'PayasYouGo')");
(如果它按照你的预期工作,考虑如果你会如何努力 你想插入一个string contained逗号,括号,空格, 等等)

2018-02-28   #2

你想提供一个string,但给SQL Server一个name。 SQL Server中的字符串文字被单一环节包围te字符:

    Sql(@"INSERT INTO MembershipTypes
          (Id, SignUpFee, DurationInMonths, DiscountRate, MembershipName)
          VALUES (1, 0, 0, 0, 'PayasYouGo')");
(如果它按照你的预期工作,考虑如果你会如何努力 你想插入一个string contained逗号,括号,空格, 等等)

登录后方可回帖

Loading...