是否知道如何扩展,即在Visual Studio中向实体设计器添加功能?
例如,我想右键单击设计器上实体的属性,并在上下文菜单上有一个新选项,允许我做任何我想要的东西。
答案 0 :(得分:2)
VS 2008 SP1中的实体设计器没有很多可扩展性挂钩。您可以做的是利用Visual Studio可扩展性(VSIP,现在称为VSX):
从这里你可以在DiagramDocView中做很多事情。 DiagramDocView.CurrentDiagram将为您提供Diagram对象。您可以调用Diagram.NestedChildShapes来获取图中的所有形状。要更改图表,您必须创建DSL事务并对事务中的形状执行编辑。这只是实体设计器上方的另一个层次,所有内容都将得到正确处理:
using (Transaction tx = store.TransactionManager.BeginTransaction(txText))
{
// do something, such as creating an EntityTypeShape;
tx.Commit();
}
VS 2010中的实体设计器将具有更多可扩展性挂钩,以允许您通过属性窗口或向导来影响模型。新的“模型优先”功能中的新扩展性工作基本上允许您以可组合的方式从Visual Studio中的模型生成任何内容。