2012-07-26 49 views
0

我讀下面的書籍:Programming Entity Framework,我有一個很難區分「模型中定義的功能」中的CSDL定義,我會在一個局部類我自己創建一個函數之間的差(即局部類的我'客戶'實體)。實體框架中的模型定義函數和部分類中的函數之間有什麼區別?

所以書中的例子是一個函數,它會連接並返回一個人的全名如下:

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

我可以創建在我的部分客戶類性質或功能,可以做同樣的事情?在CSDL中爲實體框架數據模型創建這些模型定義函數與我在部分類中執行相比有什麼優勢或主要吸引力?

回答

1

不同的是,模型中定義的函數模型的一部分,因爲EF知道如何翻譯成SQL您可以在ESQL或LINQ到實體的查詢使用它。當您在部分類中創建公共.NET函數時,您不能在Linq-to-entities或ESQL查詢中使用它,因爲EF不知道如何翻譯它們。

0
+0

沒有這不回答我的問題,更多的是班參考如何工作的部分他們的實體類的同行。 – atconway 2012-08-06 13:04:33

+0

你是對的它不能回答你的問題。但是我理解我能用Entity Framework實現什麼是有用的,所以我認爲這對其他人有幫助。 當然,你正在閱讀一本完整的書,所以......對你來說這不是什麼新鮮事。對於那個很抱歉。 – 2012-08-07 10:10:19

相關問題