(c#) Error: the entity type requires a primary key

在跟着教程结合类TodoItem和TodoContext类对控制器进行构建的时候,出现了报错:

Error: the entity type requires a primary key

在我的代码里把这两个类分别换成了User和UserContext两个类。
其中,我在User类中写了如下代码:

private long id {get; set;}
private string name{get; set;}
private string password{get; set;}
private string salt{get; set;}
private DateTime registration_time{get; set;}
private string sex{get; set;}

该错误的解释为:实体(User)无主键
我尝试在private long id {get; set;}这句上面添加[key]表示声明id字段为该user中的主键。
然而此错依然没有消失。

通过实验发现,因为private long id {get; set;}为一个方法,我将这个方法声明成了私有方法,导致报错,与主键是否存在无关。【详细原因还在思考】
所以我按照java的书写风格对该代码进行了更改:

    private long id;
    private string name;
    private string password;
    private string salt;
    private DateTime registration_time;
    private string sex;

    public long Id { get => id; set => id = value; }
    public string Name { get => name; set => name = value; }
    public string Password { get => password; set => password = value; }
    public string Salt { get => salt; set => salt = value; }
    public DateTime Registration_time { get => registration_time; set => registration_time = value; }
    public string Sex { get => sex; set => sex = value; }

是c#语法不熟悉导致的傻逼问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值