【发布时间】:2016-06-15 11:17:21
【问题描述】:
我有一个现有的数据库,可以说我无法更改。该数据库中的一张表具有以下结构:
Table Foo
FooKey UNIQUEIDENTIFIER
ParentFooKey VARCHAR(36)
所以基本上每一行都可以与其在同一个表中的父级有关系。
我正在尝试使用 EF fluent API 映射这种关系,但由于两列之间的类型不同而遇到了麻烦。
我尝试在我的 Foo 类中创建一个属性,它只是将 ParentFooKey 解析为一个 Guid,但是当我尝试在 Fluent API 中使用它时,我收到一个错误,因为该属性没有映射到 EF 中。
或者,有没有办法将ParentFooKey 映射为 EF 中的 Guid? ParentFooKey 列中的值始终是 GUID 的字符串表示形式或 NULL。
【问题讨论】:
-
SQL 中的外键列应该有相同的值,所以为什么 EF 不允许你这样做。如果你有这个问题,那就意味着你设计的模型错误。阅读有关 SQL 中外键的更多信息。
-
谢谢,我很感激,但不幸的是模型很旧,我没有设计它。因此出现了问题。
标签: c# entity-framework ef-fluent-api