【发布时间】:2011-05-20 14:23:51
【问题描述】:
我正在使用 IBM DB2,但那里没有 GUID(唯一标识符)数据类型。相反,二进制有 char 。当我从该数据库创建实体数据库模型时,该类型在模型中被标识为 byte[]。当我直接将模型与数据库一起使用时,一切正常(接受Guid.NewGuid().ToByteArray() 作为主键/实体键),但我必须使用服务层。所以我为该层选择了 WCF 数据服务模型,并在那里添加了相同的数据库模型。尝试添加服务引用后,我不断收到错误消息:
自定义工具“DataServiceClientGenerator”失败。数据服务客户端代码生成失败:指定的架构无效。错误:
(0,0):错误 0129:EntityType 'Model.TEST' 中的属性 'ID' 无效。当前不支持“二进制”类型的 EntityKey 属性..
这是否意味着我无法使用二进制表作为 PK?
PS顺便问一下 DB2 中的数据类型:您建议我在 db2 中使用什么来允许在不同的数据库服务器之间简单地将数据从一个表复制到另一个表?
【问题讨论】:
标签: c# entity-framework db2 guid wcf-data-services