2012-06-12 1 views
0

DataGrid를 컨텍스트에 바인딩하고 런타임에 일부 행을 추가했지만 예외를 생성하고 Guid가 생성 한 Guid 유형의 속성으로 인해 변경 사항을 저장할 수 없습니다.
오브젝트 생성시 엔티티 프레임 워크에서 Guid를 생성하는 방법은 무엇입니까?개체 생성시 엔티티 프레임 워크에서 Guid를 생성하는 방법

+0

엔티티 모델의 엔티티 속성 속성에서 기본 값 속성을 보았지만 Guid.NewGuid()를 시도했지만 작동하지 않았습니다. – HichemSeeSharp

+1

죄송합니다. 그러나 이것은 정말로 기본적인 것들입니다. 다음 번에 Google을 사용해보십시오. –

+0

먼저 검색해 보았습니다. 어쨌든 잘 쿼리하지 않았을 수도 있습니다. – HichemSeeSharp

답변

3

는 새 행 ID를 삽입 할 때마다 생성됩니다 [DatabaseGenerated(DatabaseGeneratedOption.Identity)]

[DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
public Guid Id { get; set; } 

이와 가이 속성을 장식하실 수 있습니다.

+0

.net 4.5 또는 silverlight 4.0을 사용하는 동안 – HichemSeeSharp

+3

난센스가 있습니다. .NET 4.0에서는 완벽하게 작동합니다. –

+0

내 코드에서 제대로 작동하지 않더라도 대답으로 표시 할 것입니다. – HichemSeeSharp

0

다른 방법으로,이 같은 YourEntity에 대한 부분 클래스를 만들 수 있습니다

public partial class YourEntity 
{ 
    public Guid ID { get; set;}  
    public YourEntity() 
    { 
     ID = Guid.NewGuid(); 
    } 
} 
0

그냥 정체성에 필드에 대한 속성 'StoreGeneratedPattern'을 변경할 수 있습니다.

개체 'SalesOrderHeader'에는 'rowguid'필드가 있습니다. 필드를 선택하고 속성으로 이동하기 만하면됩니다.

'StoreGeneratedPattern'을 선택하고 '신원'을 선택하십시오.

나는 또한 Entity Framework에 익숙하지 않다는 것을 지적해야하지만 이것은 나를 위해 일했습니다. 모델이 업데이트되면이 설정이 유지되기를 바랍니다. 그렇지 않다면 고통이 될 것입니다.

감사합니다. 회색.

관련 문제