模型定义函数与实体框架中部分类中的函数有什么区别?

时间:2012-07-26 18:52:38

标签: entity-framework

我正在阅读以下书籍:Programming Entity Framework我很难区分CSDL中定义的“模型定义函数”与我在自己的Partial类中创建的函数之间的区别(即我创建的“客户”实体的部分类。

因此,本书中的示例是一个连接并返回某人全名的函数,如下所示:

<DefiningExpression>
   Trim(c.LastName) + ", " + Trim(c.FirstName)
</DefiningExpression>

我可以在我的Partial Customer类中创建一个可以做同样事情的属性或函数吗?在CSDL中为实体框架数据模型创建这些模型定义的函数有什么优势或主要的吸引力,而不是我在Partial类中这样做?

2 个答案:

答案 0 :(得分:1)

不同之处在于模型定义函数是模型的一部分,您可以在ESQL或Linq-to-entities查询中使用它,因为EF知道如何将其转换为SQL。在部分类中创建常见的.NET函数时,不能在Linq-to-entities或ESQL查询中使用它,因为EF不知道如何翻译它们。

答案 1 :(得分:0)