2012-05-16 5 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에 대한 Microsoft 엔터티 프레임 작동합니까? 왜?

+1

"linq to Sql을위한 엔티티 프레임 워크"와 같은 생각은 없습니다. "엔티티 프레임 워크"와 "linq to Sql"은 두 개의 별개 ORM입니다 –

+0

바닐라 속성은 종속성 속성과 반대입니다. Former는 클래스에 포함되고 캡슐화되고, 후자는 DependencyObject의 어딘가 깊은 사전에 포함됩니다. 이 컨텍스트에서 POCO는 클래스가 특정 클래스 (DependencyObject 또는 EntityObject?)에서 파생되지 않고 특정 특성으로 장식되지 않았 음을 의미 할 수 있습니다. –

+0

http://en.wikipedia.org/wiki/Plain_Old_CLR_Object – brianestey

답변

0

나는 이것이 Entity Framework를 말하는 것이라고 생각합니다. POCO는 "오래된 CLR 개체"를 의미합니다. 일부 ORM은 개체를 특정 기본 클래스에서 상속하고 개체를 데이터베이스에 매핑하기 위해 클래스와 속성에 대한 특수 특성 및 기타 메서드를 사용해야합니다.

Linq하려면 SQL에서 디자이너가 생성 한 클래스를 사용해야합니다.이 클래스는 속성과 같은 것을 사용합니다.

"POCO"접근 방식은 ORM이 특수 특성이나 기본 형식을 필요로하지 않는 개체를 매핑 할 수 있다는 사실을 나타냅니다. 따라서 4+가 POCO 매핑을 지원하기 때문에 EF에 대해 이야기하고 있다고 가정합니다.

+0

@hitech에 대한 Microsoft 엔터티 프레임 작업이 아닙니다. C#, f #, vb.net 등에서 선언 된 개체간에 차이가 없으므로 CLR 개체라고하며 공통 언어 실행 시간 –

관련 문제