动态代理的名称类似于ClassName_00394CF1F92740F13E3EDBE858B6D599DFAF87AA5A089245977F61A32C75AA22
POCO 类的简单名称Classname
。
我知道可以使用 获取 EF 动态代理实例的 POCO 类型ObjectContext.GetObjectType(instance.GetType())
,但是有没有比这更简单的方法来获取给定 EF 类的代理类型:
databaseContext.TableName.First().GetType();
因为这需要表中有一个类型的实例(通常是这种情况,但这闻起来“错误”)。
我将类类型传递给一个函数(如下所示),以便某些父/子拖放规则可以应用于 TreeNodes(对象实例由 TreeNodes 的 Tag 属性引用,因此具有任何 EF 对象的动态类型)。
if (!AllowChildDrop(e.Node, e.TargetNode, e.DropPosition, typeof(Answer)), typeof(Question)))
那么基本上有没有比这更简单的方法来获取动态类型?
if (!AllowChildDrop(e.Node, e.TargetNode, e.DropPosition, context.Answer.First().GetType(), context.Question.First().GetType()))