EntityName 및 EntityIds가 포함 된 감사 모델이 있습니다. 나는이 테이블에서 EntityRecord 및 관련 기관을 검색합니다 동적 쿼리를 만들 수있는 방법을 찾고 있어요linq을 사용하는 동적 쿼리
는
이 지금까지
var auditRows = from a in context.Audit
where (a.EntityName == entityName && a.EntityKey == entityKey);
내가 얻고 싶었다 어떤 경우입니다 무슨이다 엔티티, 말하자면 "클래스"는 관련 엔티티 "학생"을 가지고 있습니다. 나는 관련 기관
var objectContext = ((IObjectContextAdapter)context).ObjectContext;
var container = objectContext.MetadataWorkspace.GetEntityContainer(objectContext.DefaultContainerName, DataSpace.CSpace);
var relatedEntitySets = container.EntitySets.Where(es => es.ElementType.Name == entitySet).First().ElementType.NavigationProperties
을 얻을 수있는 방법을 발견
where (a.EntityName == entityName && a.EntityKey == entityKey) ||
(a.EntityName == "Students" && context.Students.Where(s => s.ClassID == entityKey)
로 where 절을 생성하는 동적 쿼리를 craete 싶어하지만 난 쿼리를 만들거나 경우에이 방법을 모르는 쿼리를 만드는 더 좋은 방법입니다.
실제로 수행해야하는 작업은 결합 작업을 수행하는 것입니다. –
@Milo, 원하는 결과가 –
즉 ID = 1, Name = "Class1"및 Student 레코드 ID = Name = "Student1", ClassID = 1 감사 테이블을 쿼리하여 (EntityName = "Class"&& EntityID = 1) 데이터를 검색하려고합니다. (EntityName = "Student"&& EntityID (학생 ID SELECT ClassID = 1)에서.) –