1

我已经在一个单独的 dll 中有一个实体模型,其中包含我需要使用的各种对象。我真的不想使用 EF 设计器创建或复制实体。相反,我想对其进行配置,以便当我调用存储过程时,它将某些列映射到特定属性。

我知道您可以使用 LinqToSql 中的自定义 DataContext 做一些非常接近此的事情。问题是您不能将列分配给复杂的属性类型。例如:我可能会返回一个包含用户地址的列。我想将用户的地址详细信息存储在作为用户对象属性的地址对象中。所以,列 S​​TREET 应该映射到 User.Address.Street。

有任何想法吗?

4

1 回答 1

1

这里有几个选项。

  1. 您可以创建一个“复杂类型”并将其映射到过程结果。但是,您必须在 EDMX 中执行此操作;设计师不支持。阅读这篇文章了解详情。请注意,复杂类型本身不是实体类型,因此这可能符合您的需求,也可能不符合您的需求。但是您可以找到使用 "Address"的存储过程的示例。

  2. 您可以将过程的可见性更改为私有,然后在任何手动编写的部分类文件中为它编写一个公共接口,该文件执行您想要的映射。或者只是重载程序。

于 2008-09-18T13:31:30.163 回答