【发布时间】:2020-02-02 14:15:00
【问题描述】:
我有两个模型类(Tickets 和 Activities),其中Activities 更像是一个查找表,并且不应该包含任何导航属性或其他实体的 FK。
Tickets 中的一条记录应该有一个Activity,但在Tickets 的整个表中,会有很多相同的Activities。活动需要是一个表格,而不是(例如)一个枚举,因为将来可能会更新和修改。
虽然这看起来微不足道,但我一直遇到像Identity is Set to off 这样的错误。
我的模型:
public class Tickets
{
public int ID {get; set;}
// fk
public int ActivityID {get; set;
// nav property
public Activity Activity {get; set;}
// other properties.
}
public class Activity
{
public int ID {get; set;}
public int RankOrder {get; set;}
//other properties
}
我已经为Tickets 模型指定了一个域映射:
builder.HasOne(t => t.Activity)
.WithMany()
.HasForeignKey(t => t.ActivityID);
基于此 SO-post 和 blogpost:here 和 here 但我无法正常工作,我最近的错误消息是:
SqlException:当 IDENTITY_INSERT 设置为 OFF 时,无法在表“Activity”中插入标识列的显式值。
此外,通过此映射,EF 似乎在 Activity 表中创建了一个 Ticket 列,这是我不想要的。
【问题讨论】:
标签: c# entity-framework-core one-to-one