通过名称获取实体实例

时间:2019-04-25 11:16:38

标签: asp.net entity-framework metadata

我收到一个作为字符串输入的实体名称。

ObjectContext objContext = ((IObjectContextAdapter)db).ObjectContext;
MetadataWorkspace workspace = objContext.MetadataWorkspace;
IEnumerable<EntityType> entitytypes = workspace.GetItems<EntityType>(DataSpace.SSpace);
IList<SysTranslationItemDto> lst = new List<SysTranslationItemDto>();
EntityType entityType = entitytypes.Where(x => x.FullName == DbStore + table + "Translation").FirstOrDefault();

我得到了entityType。

现在,我将获得此实体/表的完整内容,因为理论上我也有ReadOnlyMetadataCollection<EdmMember> keyMembers = table.KeyMembers,应该可以在不使用sql查询的情况下做到这一点?

因此,从理论上讲,我的dbcontext上应该有一些东西,这可以让我按EntityType搜索,然后返回特定的实例。

所以我认为是这样的:var entity = db.Set(entityType.GetType());应该可以,但是这不能在entitytype和system.type之间转换。

0 个答案:

没有答案