/// <summary> /// Gets the specified resource paths as metadata workspace info objects. /// </summary> /// <param name="resourcePaths">The metadata resource paths.</param> /// <returns>The metadata workspace info objects.</returns> private static IEnumerable <MetadataWorkspaceInfo> GetMetadataWorkspaceInfos(IEnumerable <string> resourcePaths) { // for file paths, you would want to group without the path or the extension like Path.GetFileNameWithoutExtension, but resource names can contain // forbidden path chars, so don't use it on resource names foreach (var group in resourcePaths.GroupBy(p => p.Substring(0, p.LastIndexOf('.')), StringComparer.InvariantCultureIgnoreCase)) { yield return(MetadataWorkspaceInfo.Create(group)); } }
/// <summary> /// Find all the EF metadata resources. /// </summary> /// <param name="assembly">The assembly to find the metadata resources in.</param> /// <returns>The metadata paths that were found.</returns> private static IEnumerable <string> FindMetadataResources(Assembly assembly) { foreach (string name in assembly.GetManifestResourceNames()) { if (MetadataWorkspaceInfo.IsMetadata(name)) { yield return(string.Format("res://{0}/{1}", assembly.FullName, name)); } } }
/// <summary> /// Find all the EF metadata resources. /// </summary> /// <param name="assembly">The assembly to find the metadata resources in.</param> /// <returns>The metadata paths that were found.</returns> private static IEnumerable <string> FindMetadataResources(Assembly assembly) { List <string> result = new List <string>(); foreach (string name in assembly.GetManifestResourceNames()) { if (MetadataWorkspaceInfo.IsMetadata(name)) { result.Add(String.Format(CultureInfo.InvariantCulture, "res://{0}/{1}", assembly.FullName, name)); } } return(result); }