在互联网上搜索我找到了这个页面:
我有一个类似的问题。我正在尝试修改 .edmx 文件的结构,添加一个 complexType 但这会导致抛出 InvalidOperationException 。我认为创建一个范围可以避免这个问题,但事实并非如此。这是我正在使用的一段代码:
public void AddComplexTypeToConceptualModel(XElement document, XElement entityType)
{
XElement lastEntityType = document.Descendants(XName.Get("EntityType", "http://schemas.microsoft.com/ado/2008/09/edm")).LastOrDefault();
if (lastEntityType != null)
{
using (EntityDesignerChangeScope scope = Context.CreateChangeScope("Create ComplexType in Conceptual Model"))
{
lastEntityType.AddAfterSelf(CreateComplexType(entityType));
// Commit the changes.
scope.Complete();
}
}
}
当我运行上面显示的代码时,我收到 InvalidOperationException:属性扩展无法编辑实体框架命名空间中的项目
我正在评估的另一种可能性是使用 ModelTransformExtension 类对 context.CurrentDocument 进行更改。
你知道有什么方法可以做到这一点而不会发生这种异常吗?欢迎任何帮助或建议。
提前致谢
奥克塔维奥