EntityType没有键定义错误,但我确实定义了键.为什么会失败

本文关键字:定义 为什么 失败 错误 EntityType | 更新日期: 2023-09-27 18:28:49

我正试图将一个对象写入数据库,但它引发了以下异常:

在模型生成过程中检测到一个或多个验证错误:

EntityType"PageResponse"没有键定义定义此EntityType的键。PageResponse:实体类型:EntitySet"PageResponse"基于没有键定义。

但我确实定义了一个键。为什么它仍然失败?

这是我的代码:

public class PageContext : DbContext
{
    public PageContext()
        : base("DefaultConnection")
    {
    }
    public DbSet<PageResponse> PageResponse { get; set; }
}
[Table("PageResponse")]
public class PageResponse
{
    [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int PageResponseId;
    public Uri Uri { get; set; }
    public string Text { get; set; }
    public string Title { get; set; }
    public string OriginalUrl { get; set; }
    public Uri ResponseUri { get; set; }
}
using (var db = new PageContext())
{
    try
    {
        PageResponse pr = new PageResponse
        {
            Text = data.Text,
            Uri = data.Step.Uri,
            Title = data.Title,
            OriginalUrl = data.OriginalUrl,
            ResponseUri = data.ResponseUri,
        };
        db.PageResponse.Add(pr);
        db.SaveChanges();  
    }
    catch (Exception ex)
    {
    } 
}

EntityType没有键定义错误,但我确实定义了键.为什么会失败

您的键属性没有正确定义,它没有getter或setter。更改此项:

public int PageResponseId;

对此:

public int PageResponseId { get; set; }
相关文章: