我已将数据库表导入.edmx
文件,其他我有一个Customer
实体,如:
CustID
CustName
CustAddress
现在我想允许用户编辑所选客户,我需要显示每个客户的订单数量,因此在显示版本表单时,我需要动态地向该实体添加一个字段 - 字段{{1} }它将评估sql语句CustOrderCount
。
有没有办法以某种方式扩展实体,以便EF 选择订单计数而不用手动执行这样的自定义选择:
SELECT COUNT(*) FROM Orders WHERE CustomerID = {id}
答案 0 :(得分:2)
在您的edmx文件所在的项目中,创建一个新的partial
class
:
public partial class Customer {}
然后,您可以将自己的属性/方法添加到EF实体:
public partial class Customer {
public int GetSomething(){}
}
答案 1 :(得分:1)
没有。实体仅从数据库中检索表本身中的字段。为此,您必须在显示时进行投影,使用@Jason显示的自定义数据检索。
在这种情况下,对自定义视图模型的投影是正确的解决方案,因为您希望显示一些不属于您实体的其他数据。
答案 2 :(得分:0)
您可以创建数据库视图,将其映射为实体,并使用触发器来处理CRUD操作。