这是我的模型(简化):
PRAT是主要的表格
public partial class PRAT
{
public int ID { get; set; }
public string PRATICA { get; set; }
public int ANNO { get; set; }
public string VARIANTE { get; set; }
[ForeignKey("ID")]
public VW_PRATICHE_CONTIPO VW_PRATICHE_CONTIPO { get; set; }
}
VW_PRATICHE_CONTIPO是数据库中的一个View(不是表!),其中包含一些与PRAT表相关的数据
public class VW_PRATICHE_CONTIPO
{
public int ID { get; set; }
public DateTime? DATAPRES { get; set; }
public string PROTGEN { get; set; }
public string TIPO { get; set; }
public string TIPOEXTRA { get; set; }
public string TIPOISTANZA { get; set; }
public string TIPOPRAT { get; set; }
}
表与View之间的一对一关系基于ID字段。
我需要这个,因为我想做这样的查询:
context.PRAT.Include(x=> x.VW_PRATICHE_CONTIPO)
此查询用作已检测到的。
当我尝试在PRAT中保存新实体时会出现问题。
当我这样做时:
context.PRAT.Add(prat);
await context.SaveChangesAsync();
我收到了这个错误:
实体类型'PRAT'上的属性'ID'具有临时值。可以显式设置永久值,也可以确保将数据库配置为为此属性生成值。
如果我从PRAT中删除导航属性一切正常,但我不能在我的查询中包含。
有人能帮助我吗?
谢谢。