【发布时间】:2011-08-29 02:57:36
【问题描述】:
我有一个类似于以下示例的数据库:
客户
客户 ID 整数
名字...
文档
DocumentID int
客户 ID 整数
文档日期...
事情就是这样。并非所有文件都与客户相关。问题是这个旧数据库没有为 Document->CustomerID 使用 int NULL。相反,它是一个不可为空的 int,它使用存储值 -1 来表示它没有客户。在这个数据库之上运行的代码知道 -1 是特殊的,并且表示没有相关实体。
我的问题是现在我想在它之上构建一个实体模型。有没有办法告诉实体模型 Document 表的 CustomerID 字段中的 -1 表示没有关系? Entity Framework 必须将数据库层的 int 映射到模型层的可为空的 int,并且每当它从 db 检索记录时,它必须将 -1 的值映射为 null,并且无论何时保存,将 null 保存为 -1。并且在填充实体集时,也必须考虑这种映射。
这有意义吗?似乎实体框架可能在某个地方内置了一些东西,但话又说回来,也许不是。
想法?
【问题讨论】:
标签: entity-framework mapping entity-relationship