我创建了一个 Devart linqconnect模型,称为购物上下文,并使用mysql作为数据库。我正在使用试用版的Linqconnect。
我在数据库中创建了一个存储过程clothesItems,当我尝试将存储过程添加到图表时,它会警告我:
为了获取过程结果集的元数据,必须执行该过程,这可能会导致数据库损坏。 程序名称:shopping.clothing_items 您是否希望获得程序结果集的元数据?
但是在代码隐藏文件之后,我看到它出现在intellisense菜单中的衣服用品和衣服项目中,作为ShoppingDatcontext.ClothingItem和重复的方法(我认为!),如:
void ClothingItem1(),
void ClothingItem2();
void ClothingItem3();
并且它没有被添加到图表中。
如何在不损坏数据库的情况下添加存储过程以及如何将其插入显示它的图表中。 请帮助。
答案 0 :(得分:1)
向模型添加过程时,Entity Developer会尝试执行存储过程以确定与此存储过程对应的方法的返回类型。因此,您会看到有关获取过程结果集的元数据的警告。如果您选择OK,将执行存储过程并确定返回类型。是否可能损坏任何数据或数据库结构,仅取决于该过程的作用。如果您确定此过程是安全的,则可以允许Entity Developer运行它并获取元数据。否则,您可以手动配置过程结果集。
生成了重复的方法,因为您已多次添加此过程。每次向模型添加过程(甚至相同)时,都会为其生成新方法。 存储过程的所有生成方法都可以在Model Explorer-> Methods和生成的代码(* .Designer.cs)中找到。要查看相应存储过程,参数和结果类型的名称,请在Model Explorer-> Methods中双击必要的方法或参考代码。
方法未在图表布局中显示,它们仅在模型资源管理器 - >方法和代码中可用。 图包含类,复杂类型和枚举类型及其属性和关系。
有关详细信息,请参阅here。