[英]How to avoid returning certain properties and Foreign Entities when calling GetProperties on an Entity?
[英]How can I exclude Foreign Entities when calling GetProperties on an Entity?
var properties = person.GetType().GetProperties(BindingFlags.DeclaredOnly |
BindingFlags.Public |
BindingFlags.Instance);
以上返回Car
和CarReference
作为属性的一部分,但它们是Person
外部实体。 我想将它们从GetProperties
排除。 我该如何实现?
EntityFramework
POCO
的设计难以确定什么是关联。 这是因为所有信息都在Entity Framework
,而这些信息都不在POCO
(POCO之类)中。 您将不得不进入EF中的EDM类。
您可以通过以下方式访问我认为的EDM:
var objectContext = ((IObjectContextAdapter)dbContext).ObjectContext;
var metadata = objectContext.MetadataWorkspace;
但这是我能为您做的最好的...
好吧,一个质朴的解决方案,但这可能足以满足您的需求。
只排除类的属性(这将排除单个导航属性)和通用类型(这将排除集合属性,例如Car
的ICollection<Person>
)
var properties = typeof(Items).GetProperties(BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.Instance)
.Where(m => !m.PropertyType.IsClass &&
!m.PropertyType.IsGenericType);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.