手動で追加したストアドプロシージャを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