"Animal"이라는 클래스가있는 모델이 있습니다.
은 "동물"클래스는 몇 가지 속성을 가지고 있지만,의에는 다음과 같은 속성에 집중하자 : 나는 수행하여 작업 할 수있는 CreateDate을 얻을 수있는 "동물"클래스에서내부 설정자가있는 OData 속성 - 예 : UpdateDate
- CreateDate
- createuser가
다음 :
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
public DateTime CreateDate { get; set; }
이렇게하면 d에 기본값을 설정하여 데이터베이스에 CreateDate를 생성 할 수 있습니다. atabase는 "GetDate()"로 표시됩니다.
외부 호출자가 OData 서비스의 CreateDate 필드를 "설정"하려고하면 전달되는 데이터가 무시됩니다.
외부 발신자의 "읽기 전용"속성입니다.
OData 서버에서 CreateUser = System.Threading.Thread.CurrentPrincipal.Identity.Name을 설정해야한다는 점을 제외하고 CreateUser와 비슷한 작업을 수행해야합니다.
개인 집합을 시도하는 경우 OData 서비스는 속성을 전혀 노출하지 않습니다.
공개 세트를 사용하면 외부 발신자가 속성을 변경할 수 있습니다. 나는 내부 _CreateUser를 설정 한 "동물"생성자에서
= System.Threading.Thread.CurrentPrincipal.Identity.Name
나는 서버 측에 설정하는 방법을 모르겠어요.
인터페이스 및 컨텍스트 저장 변경 이벤트를 사용하여 조금 더 깨끗한 다른 방법을 찾았습니다. http://stackoverflow.com/questions/24590911/entity-framework-code-first-datetime-field-update-on-modification – goroth