我正在尝试将对象写入数据库,并抛出以下异常:
在模型生成期间检测到一个或多个验证错误:
EntityType'PageResponse'没有密钥 定义。定义此EntityType的键。 PageResponse:EntityType: EntitySet'PageResponse'基于没有的'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)
{
}
}
答案 0 :(得分:1)
您的密钥属性未正确定义,它没有getter或setter。改变这个:
public int PageResponseId;
对此:
public int PageResponseId { get; set; }