实体框架4:如何扩展实体?

时间:2011-10-17 08:29:25

标签: c# .net entity-framework

我已将数据库表导入.edmx文件,其他我有一个Customer实体,如:

CustID
CustName
CustAddress

现在我想允许用户编辑所选客户,我需要显示每个客户的订单数量,因此在显示版本表单时,我需要动态地向该实体添加一个字段 - 字段{{1} }它将评估sql语句CustOrderCount

有没有办法以某种方式扩展实体,以便EF 选择订单计数而不用手动执行这样的自定义选择:

SELECT COUNT(*) FROM Orders WHERE CustomerID = {id}

3 个答案:

答案 0 :(得分:2)

在您的edmx文件所在的项目中,创建一个新的partial class

public partial class Customer {}

然后,您可以将自己的属性/方法添加到EF实体:

public partial class Customer {
   public int GetSomething(){}
}

答案 1 :(得分:1)

没有。实体仅从数据库中检索表本身中的字段。为此,您必须在显示时进行投影,使用@Jason显示的自定义数据检索。

在这种情况下,对自定义视图模型的投影是正确的解决方案,因为您希望显示一些不属于您实体的其他数据。

答案 2 :(得分:0)

您可以创建数据库视图,将其映射为实体,并使用触发器来处理CRUD操作。

相关问题