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)
{
}
}
您的键属性没有正确定义,它没有getter或setter。更改此项:
public int PageResponseId;
对此:
public int PageResponseId { get; set; }