是否可以在edmx文件中持久添加手動添加的存儲過程?數據庫是從模型生成的。每次我在edmx文件的編輯器中更改某些內容時,存儲過程都會丟失。之後只有FunctionImport條目仍然可用。在edmx文件中手動添加存儲過程
一個示例函數如下:
<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:
<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>
你提出的或多或少是個問題。我的意思是我遵循了Microsoft在http://msdn.microsoft.com/en-us/library/dd296754.aspx上描述的步驟。這導致了所描述的問題。 – niklr
就像@Fergara所說的,當你使用設計器編輯EDMX文件時,它會重新生成它下面的所有文件。這就是你失去這些文件的原因。每次您編輯它們時,都必須重新替換這些文件。有關更多信息,請參閱下面的答案。 – Termato