我有一个非常简单的 Entity Framework 项目和 POCO Entities。我有一个使用 EF 向导导入的存储过程。
然后,我创建了自己的 EF 实体,然后添加函数导入以将存储过程映射到我的 EF 实体。
现在,我不确定如何将我的 EF 实体映射到 POCO。因此,我不断收到以下错误:
错误11007:实体类型“XXXXX”是 未映射。
如何将此实体映射到 POCO?
好的。这就是我最终所做的。
即。
.edmx
、Custom Tool
已删除/没有自动生成的实体等。
在您的上下文课程中...
public class SqlServerContext : ObjectContext, IUnitOfWork
{
public SqlServerContext(EntityConnection entityConnection,
ILoggingService loggingService)
: base(entityConnection) { .... }
public ObjectResult<Location> FindLocationsWithinABoundingBox(decimal upperLeftLongitude,
decimal upperLeftLatitude,
decimal lowerRightLongitude,
decimal lowerRightLatitude)
{
return base.ExecuteFunction<Location>("FindLocationsWithinABoundingBox",
new ObjectParameter("UpperLeftLatitude", upperLeftLongitude),
new ObjectParameter("UpperLeftLongitude", upperLeftLatitude),
new ObjectParameter("LowerRightLongitude", lowerRightLongitude),
new ObjectParameter("LowerRightLatitude", lowerRightLatitude));
}
}
就是这样。
不确定我的 POCO 方式是否是最好的做事方式,但它..很好..有效:)
而且这是我问过的一个相关的StackOverflow问题关于以服务/IQueryable方式使用这个存储过程......:)