엔티티 프레임워크 포함() 강력하게 입력됨
시스템을 사용하여 이것을 강하게 타이핑할 수 있는 방법이 있습니까?데이터. 엔티티.포함방법?Escalation 아래 방법은 ICollection <>입니다.
public IEnumerable<EscalationType> GetAllTypes() {
Database.Configuration.LazyLoadingEnabled = false;
return Database.EscalationTypes
.Include("Escalation")
.Include("Escalation.Primary")
.Include("Escalation.Backup")
.Include("Escalation.Primary.ContactInformation")
.Include("Escalation.Backup.ContactInformation").ToList();
}
이것은 엔티티 프레임워크 4.1에서 이미 사용할 수 있습니다.
포함 기능을 사용하는 방법에 대한 참조는 여기를 참조하십시오. 여러 수준을 포함하는 방법도 나와 있습니다. http://msdn.microsoft.com/en-us/library/gg671236(VS.103).aspx
강한 타이핑을 한 사람은Include()
method는 확장 방법이므로 당신은 그것을 선언하는 것을 기억해야 합니다.using System.Data.Entity;
진술.
public static class ObjectQueryExtensionMethods {
public static ObjectQuery<T> Include<T>(this ObjectQuery<T> query, Expression<Func<T, object>> exp) {
Expression body = exp.Body;
MemberExpression memberExpression = (MemberExpression)exp.Body;
string path = GetIncludePath(memberExpression);
return query.Include(path);
}
private static string GetIncludePath(MemberExpression memberExpression) {
string path = "";
if (memberExpression.Expression is MemberExpression) {
path = GetIncludePath((MemberExpression)memberExpression.Expression) + ".";
}
PropertyInfo propertyInfo = (PropertyInfo)memberExpression.Member;
return path + propertyInfo.Name;
}
}
ctx.Users.Include(u => u.Order.Item)
언급URL : https://stackoverflow.com/questions/6102909/entity-framework-include-strongly-typed
'programing' 카테고리의 다른 글
ASP .NET MVC 필드별 수준에서 클라이언트 측 유효성 검사 사용 안 함 (0) | 2023.10.16 |
---|---|
JDBC Connection Pooling을 사용하고 있습니까? (0) | 2023.10.16 |
git push 명령에서 사용자 이름 및 암호 (0) | 2023.10.16 |
MySQL에서 대문자를 확인하는 방법? (0) | 2023.10.16 |
nginx 업스트림을 사용하여 워드 프레스 상수 (0) | 2023.10.16 |