문제

데이터베이스에서 일부 필드를 제외할 수 있는 방법이 있는지 알고 싶습니다.예를 들어:

public class Employee
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string FatherName { get; set; }

    public bool IsMale { get; set; }
    public bool IsMarried { get; set; }

    public string AddressAs { get; set; }
}

데이터베이스에서 AddressAs 필드를 제외하려면 어떻게 해야 합니까?

도움이 되었습니까?

해결책

현재 버전에서 속성을 제외하는 유일한 방법은 다른 모든 열을 명시 적으로 매핑하는 것입니다.

builder.Entity<Employee>().MapSingleType(e => new {
  e.Id,
  e.Name,
  e.FatherName,
  e.IsMale,
  e.IsMarried
});

주소가 참조되지 않기 때문에 엔티티 / 데이터베이스의 일부가 아닙니다.

EF 팀은입니다 고려하면 다음과 같은 추가 :

builder.Entity<Employee>().Exclude(e => e.AddressAs);

efdesign 블로그에 댓글을 남기고이 기능을 요청하는 것이 좋습니다. :)

도움이 되었기를 바랍니다

알렉스

다른 팁

향후 참조 : 데이터 주석을 사용할 수 있습니다MSDN EF- 코드 첫 번째 데이터 주석

[NotMapped]        
public string AddressAs { get; set; }

나는 이것이 오래된 질문이라는 것을 알고 있지만 누군가 (나 같은) 사람이 검색에서 나오는 경우 ...

이제 엔티티 프레임 워크 4.3에서이를 수행 할 수 있습니다. 당신은 그렇게 할 것입니다 :

builder.Entity<Employee>().Ignore(e => e.AddressAs);

무시하려는 열을 추가하는 것도 가능합니다. 그림자 속성 DbContext에서:

builder.Entity<Employee>().Property<string>("AddressAs");

그런 다음 해당 열에 대해 다음과 같이 쿼리할 수 있습니다.

context.Employees.Where(e => EF.Property<string>(e, "AddressAs") == someValue);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top