当存在View的外键时,Insert上的Entity Framework Core错误

时间:2017-08-23 15:04:05

标签: entity-framework-core

这是我的模型(简化):

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中删除导航属性一切正常,但我不能在我的查询中包含。

有人能帮助我吗?

谢谢。

0 个答案:

没有答案