gpt4 book ai didi

c# - 在edmx文件中手动添加存储过程

转载 作者:太空狗 更新时间:2023-10-29 23:33:44 25 4
gpt4 key购买 nike

是否可以将手动添加的存储过程持久化到edmx文件中?数据库是从模型生成的。每次我在编辑器中更改 edmx 文件中的内容时,存储过程都会丢失。之后只有 FunctionImport 条目仍然可用。

示例 Function 如下所示:

<Function Name="SP_I_InsertGroup" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="false" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo">
<Parameter Name="name" Type="nvarchar" Mode="In" />
<Parameter Name="chiefId" Type="int" Mode="In" />
<Parameter Name="description" Type="nvarchar" Mode="In" />
<Parameter Name="parentId" Type="int" Mode="In" />
<Parameter Name="mode" Type="char" Mode="In" />
</Function>

对应的FunctionImportMapping:

<FunctionImportMapping FunctionImportName="InsertGroup" FunctionName="DAL.Store.SP_I_InsertGroup" />

函数导入:

<FunctionImport Name="InsertGroup" ReturnType="Collection(Int32)">
<Parameter Name="name" Mode="In" Type="String" />
<Parameter Name="chiefId" Mode="In" Type="Int32" />
<Parameter Name="description" Mode="In" Type="String" />
<Parameter Name="parentId" Mode="In" Type="Int32" />
<Parameter Name="mode" Mode="In" Type="String" />
</FunctionImport>

最佳答案

Moo,你不应该手动修改 edmx 文件。

“对此文件的更改可能会导致不正确的行为,并且如果重新生成代码将会丢失。”

这就是您丢失工作的原因。您应该映射设计器中已创建的存储过程,就像您处理表一样。

我假设您正在玩 EF4。

关于c# - 在edmx文件中手动添加存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8629666/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com