【发布时间】:2017-01-06 18:56:20
【问题描述】:
我们正在构建一个包含多个实体的上下文。所有实体都建立在具有 ID (guid) 的抽象类上。
我们希望所有实体都与一个公共日志表有关系,但是由于命名,EFCF 无法理解这种关系。
public class Log {
public BaseEntity Entity {get;set;}
public Guid EntityID {get;set;}
}
public class Example : BaseEntity {
public virtual ICollection<Log> Logs {get;set;}
}
任何人都可以提供支持的模式吗?我们已经尝试过抽象、设置 OnModelCreating 等,但由于不支持的命名而不断出现模糊错误。如果我们添加这些;
[ForeignKey("EntityID")]
public Example Example {get;set;}
[ForeignKey("EntityID")]
public Example5 Example5 {get;set;}
[ForeignKey("EntityID")]
public Example2 Example2 {get;set;}
Log 类的一组属性,一切正常。添加新日志条目时出现问题。
【问题讨论】:
-
创建日志时会做什么?您是否尝试将其转换为 BaseEntity?也许还有一个类型值,以便您可以手动重铸回您的类型?
-
或者你可以让它成为一个基于 GUID 的 getter?
-
逻辑思考。你能在关系数据库中做这样的FK吗?
标签: entity-framework inheritance code-first