내 비즈니스에는 전자 메일에서 MailMessage를 만드는 방법이 있습니다. 내가 사용하는 방법은 간단한 POCO 개체 인 매개 변수로 Email 개체를 가져오고 ToId 및 FromId와 같은 외래 키 속성이 이미 설정되어 있습니다. 엔티티는 또한 EmailAddress 엔티티 (FromEmailAddress 및 ToEmailAddress)에 대한 탐색 특성을가집니다.엔티티 프레임 워크는 새로 생성 된 엔티티에서 탐색 속성을 사용합니다.
내가 원하는 것은 이러한 탐색 속성을 사용하는 것입니다. 내가 할 수 있었던 방법은 다음과 같다. 그러나 그것은 hax처럼 보인다 :
public MailMessage CreateEmail(Email email)
{
var tmpEmail = db.Set<Email>().Create();
db.Emails.Add(tmpEmail);
db.Entry<Email>(tmpEmail).CurrentValues.SetValues(email);
db.SaveChanges();
email = tmpEmail;
그리고 나서 나는 나의 코드에서 이메일을 사용한다. 이 방법은 엔티티에 프록시가 있으므로 탐색 속성을 사용할 수 있습니다. 이 작업을 수행하는 간단한 방법이 있습니까?
탐색 속성을 사용하려면 엔티티를 컨텍스트에 첨부해야합니다. 따라서 코드를 조금 다르게 작성할 수 있지만 목표를 달성하기 위해 동일한 작업을 수행합니다. – Svarog
나는 그걸 시도해 봤지만 db.Emails.Attach (전자 메일) 탐색 속성을 사용할 수 없다. – norbip