【发布时间】:2020-08-09 17:45:19
【问题描述】:
我使用 EF Core for Oracle,并尝试从 DbContext 获取实体列表。
我有两个模型类:
public class CssKursyModel
{
[Key]
[Column("KW_ID")]
public int Kw_Id { get; set; }
public CssTabeleKursowModel CoursesTables { get; set; }
[Column("KW_WAL_Z_ID")]
public int Kw_Wal_Z_Id { get; set; }
[Column("KW_WAL_NA_ID")]
public int Kw_Wal_Na_Id { get; set; }
}
和
public class CssTabeleKursowModel
{
[Key]
[Column("TK_ID")]
public int Tk_Id { get; set; }
[Column("TK_SYMBOL")]
public string Tk_Symbol { get; set; }
[Column("TK_NAZWA")]
public string Tk_Nazwa { get; set; }
}
但是当我尝试执行这个语句时
var t = context.CssCourses.ToList();
返回异常
ORA-00904: "s"."CoursesTablesTk_Id": 标识符无效
我可以做些什么来解决这种情况?
当我更改我的 CSSKursyModel 并添加 ForeignKey 属性时,像这样
{
[Key]
[Column("KW_ID")]
public int Kw_Id { get; set; }
[ForeignKey("TK_ID")]
public CssTabeleKursowModel CoursesTables { get; set; }
[Column("KW_WAL_Z_ID")]
public int Kw_Wal_Z_Id { get; set; }
[Column("KW_WAL_NA_ID")]
public int Kw_Wal_Na_Id { get; set; }
}
并将方法更改为
var t = context.CssCourses
.Include(i => i.CoursesTables.Tk_Id)
.ToList();
错误信息看起来像 ORA-00904: "i"."TK_ID": 标识符无效
列名正确 (TK_ID),但执行仍因 ORA-00904 异常而结束
问候
【问题讨论】:
-
请编辑问题并显示表格 DDL。谢谢
标签: c# oracle linq entity-framework-core ora-00904