我有一个使用sqlgeography的实体/表。实体部分类中的属性
由于EF 4.X不支持空间类型,我只是来回发送字段的字节。
我已经在处理代码端的对话和属性的数据库端存储了procs来完成这项工作。
要在代码中添加属性,我使用了部分类。
其中一个属性是SqlGeography,它只是简单地包装byte []属性来处理获取和设置。
使用NotMappedAttribute从EF隐藏此属性。
另一个是暴露byte []本身的属性,并用EdmScalarPropertyAttribute和DataMemberAttribute装饰。
然后我去EF模型设计器(* .edmx)指向Insert/Update/Delete存储过程的实体模型。
它发现存储的过程是正常的,并意识到它们(在适当时)采用VARBINARY参数。
它还有一个下拉菜单,允许您选择映射到该参数的实体类的属性。
但是,此下拉列表不会列出我的任何属性。我不关心SqlGeography属性,因为它意味着对EF隐藏,但是对于我来说,能够将它指向byte []属性非常重要,因为这是数据的来源。
我非常想避免数据库触发器或包装类和附加字段来使其工作。
我试着手动编辑.edmx文件以包含byte []属性,但它只是抱怨它未映射。
任何人都可以给我一些见解,如何让这个工作?还是选择最终结果的另一种方法?