2012-05-16 78 views
-1

在這裏,我在WPF中使用MVVM,並且讀取它包含poco。我還讀到,這是包含香草屬性。mvvm中的poco是什麼?

public class AccountCategory : IDataErrorInfo, IValidable 
    { 
     #region State Properties 

     public int Id { get; set; } 
     public string Name { get; set; } 
     public string Description { get; set; } 
     public AccountCategory ParentCategory { get; set; } 
     public bool Builtin { get; set; } 

    } 

那是什麼?是微軟實體框架工作的LINQ到SQL?爲什麼?

+1

沒有這樣的想法「LINQ to Sql的實體框架」。 「實體框架」和「LINQ to Sql」是兩個獨立的ORMs –

+0

Vanilla屬性與依賴屬性相反我猜?前者被封裝在類中,後者被包含在DependencyObject深處的字典中。在這種情況下,POCO可能意味着該類不是從特定類(DependencyObject或EntityObject?)派生的,也不是用特定屬性修飾的。 –

+0

請參閱http://en.wikipedia.org/wiki/Plain_Old_CLR_Object – brianestey

回答

0

我猜他們指的是實體框架。 POCO的意思是「普通的舊CLR對象」。一些ORM需要實體從特定的基類繼承,在類和屬性上使用特殊屬性以及其他方法以將對象映射到數據庫。

Linq To SQL要求您使用設計器生成的類,該設計器使用屬性和類似的東西。

「POCO」方法是指ORM可以映射任何對象,而不需要特殊的屬性或基類型。因此,我認爲他們正在談論EF,因爲4+支持POCO映射。

+0

@hitech它被稱爲CLR對象,因爲在c#,f#,vb.net等中聲明的對象之間沒有區別,它們都運行在公共語言運行 –