皆さん、のMetadataWorkspaceのストレージモデル(SSDL)からのストアドプロシージャを抽出する方法はありますか?現在MetadataWorkspaceからストアドプロシージャのみを抽出する方法は?
、私は(私はEdmFunctionオブジェクトのBuiltInAttributeをチェックしています)MetadataWorkspaceからストアドプロシージャを抽出するために、次のコードを使用しています:
public static List<EdmFunction> TryGetSsdlFunctions(this MetadataWorkspace metadataWorkspace)
{
List<EdmFunction> functions = new List<EdmFunction>();
foreach (EdmFunction function in metadataWorkspace.GetItems<EdmFunction>(DataSpace.SSpace))
{
MetadataProperty builtInAttribute = function.MetadataProperties.FirstOrDefault(p => p.Name == "BuiltInAttribute");
if (builtInAttribute != null && Convert.ToBoolean(builtInAttribute.Value.ToString()) == false)
{
functions.Add(function);
}
}
return functions;
}
ここでの問題は、ストアドプロシージャのほかに、この意志関数もデータモデルに含まれています。そして私はストアドプロシージャだけを必要とします。 IsComposable属性の値に違いがあることがわかりますが、これが信頼できる基準であるかどうかはわかりません。
ありがとうございます。
p.s:ワークスペースからストアドプロシージャを抽出するスマートな方法があると思われる場合は、共有してください。
私はこれが(少なくとも一目ぼれに)感謝すると思う。 – regnauld