我想使工廠類返回DbContext
對象,其中表名將作爲字符串傳遞。數據庫中有超過100個表,每個表具有不同的結構/模式。c#EF DbContext - 從字符串動態生成對象
想法是通過tableName
作爲string
在將返回對象在EF中的方法,我們可以選擇/更新這些記錄。我在一些文章中發現了這個代碼,但是有一些混淆如何使用它:
public ObjectContext Context(EntityObject entity)
{
var relationshipManager = ((IEntityWithRelationships)entity).RelationshipManager;
var wrappedOwnerProperty = relationshipManager.GetType().GetProperty("WrappedOwner", BindingFlags.Instance | BindingFlags.NonPublic);
var wrappedOwner = wrappedOwnerProperty.GetValue(relationshipManager);
var contextProperty = wrappedOwner.GetType().GetProperty("Context");
return (ObjectContext)contextProperty.GetValue(wrappedOwner);
}
我不確定這是否是我需要的。此外,我應該通過EntityObject entity
和我應該通過tableName
?
請讓我知道是否有任何其他方式來實現相同的事情。