//---------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// @owner willa
// @backupOwner [....]
//---------------------------------------------------------------------
namespace System.Data.Entity.Design
{
using System.Collections.ObjectModel;
using System.Data.Metadata.Edm;
using System.Globalization;
[CLSCompliant(false)]
public static class MetadataExtensionMethods
{
///
/// Get the list of primitive types for the given version of Edm
///
/// The item collection from which to retrieve the list of primitive types
/// The version of edm to use
///
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "edm")]
public static System.Collections.ObjectModel.ReadOnlyCollection GetPrimitiveTypes(this EdmItemCollection itemCollection, Version edmVersion)
{
if (edmVersion == EntityFrameworkVersionsUtil.Version3)
{
return itemCollection.GetPrimitiveTypes(3.0);
}
else if (edmVersion == EntityFrameworkVersionsUtil.Version2)
{
return itemCollection.GetPrimitiveTypes(2.0);
}
else if (edmVersion == EntityFrameworkVersionsUtil.Version1)
{
return itemCollection.GetPrimitiveTypes(1.0);
}
else if (edmVersion == EntityFrameworkVersionsUtil.EdmVersion1_1)
{
return itemCollection.GetPrimitiveTypes(1.1);
}
else
{
string versionString = edmVersion.ToString(2);
return itemCollection.GetPrimitiveTypes(double.Parse(versionString, CultureInfo.InvariantCulture));
}
}
}
}