本文整理汇总了C#中System.Data.Entity.Core.Common.DbProviderManifest.GetStoreType方法的典型用法代码示例。如果您正苦于以下问题:C# DbProviderManifest.GetStoreType方法的具体用法?C# DbProviderManifest.GetStoreType怎么用?C# DbProviderManifest.GetStoreType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Data.Entity.Core.Common.DbProviderManifest
的用法示例。
在下文中一共展示了DbProviderManifest.GetStoreType方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetStoreTypeUsage
private static TypeUsage GetStoreTypeUsage(this EdmMember edmMember, DbProviderManifest providerManifest)
{
TypeUsage storeType = null;
var conceptualType = edmMember.TypeUsage;
Debug.Assert(conceptualType != null, "EdmMember's TypeUsage is null");
if (conceptualType != null)
{
// if the EDM type is an enum, then we need to pass in the underlying type to the GetStoreType API.
var enumType = conceptualType.EdmType as EnumType;
storeType = (enumType != null)
? providerManifest.GetStoreType(TypeUsage.CreateDefaultTypeUsage(enumType.UnderlyingType))
: providerManifest.GetStoreType(conceptualType);
}
return storeType;
}
示例2: IsNarrowerThan
/// <summary>
/// Determines if this column is a narrower data type than another column.
/// Used to determine if altering the supplied column definition to this definition will result in data loss.
/// </summary>
/// <param name="column"> The column to compare to. </param>
/// <param name="providerManifest"> Details of the database provider being used. </param>
/// <returns> True if this column is of a narrower data type. </returns>
public bool IsNarrowerThan(ColumnModel column, DbProviderManifest providerManifest)
{
Check.NotNull(column, "column");
Check.NotNull(providerManifest, "providerManifest");
var typeUsage = providerManifest.GetStoreType(TypeUsage);
var otherTypeUsage = providerManifest.GetStoreType(column.TypeUsage);
return (_typeSize[Type] < _typeSize[column.Type])
|| !(IsUnicode ?? true) && (column.IsUnicode ?? true)
|| !(IsNullable ?? true) && (column.IsNullable ?? true)
|| IsNarrowerThan(typeUsage, otherTypeUsage);
}
示例3: ConfigureRowsAffectedParameter
private void ConfigureRowsAffectedParameter(
StorageModificationFunctionMapping modificationFunctionMapping, DbProviderManifest providerManifest)
{
DebugCheck.NotNull(modificationFunctionMapping);
DebugCheck.NotNull(providerManifest);
if (!string.IsNullOrWhiteSpace(_rowsAffectedParameter))
{
if (modificationFunctionMapping.RowsAffectedParameter == null)
{
var rowsAffectedParameter
= new FunctionParameter(
"_RowsAffected_",
providerManifest.GetStoreType(
TypeUsage.CreateDefaultTypeUsage(
PrimitiveType.GetEdmPrimitiveType(PrimitiveTypeKind.Int32))),
ParameterMode.Out);
modificationFunctionMapping.Function.AddParameter(rowsAffectedParameter);
modificationFunctionMapping.RowsAffectedParameter = rowsAffectedParameter;
}
modificationFunctionMapping.RowsAffectedParameter.Name = _rowsAffectedParameter;
_configuredParameters.Add(modificationFunctionMapping.RowsAffectedParameter);
}
}
示例4: IsNarrowerThan
/// <summary>
/// Determines if this column is a narrower data type than another column.
/// Used to determine if altering the supplied column definition to this definition will result in data loss.
/// </summary>
/// <param name = "column">The column to compare to.</param>
/// <param name = "providerManifest">Details of the database provider being used.</param>
/// <returns>True if this column is of a narrower data type.</returns>
public bool IsNarrowerThan(ColumnModel column, DbProviderManifest providerManifest)
{
Contract.Requires(column != null);
Contract.Requires(providerManifest != null);
var typeUsage = providerManifest.GetStoreType(TypeUsage);
var otherTypeUsage = providerManifest.GetStoreType(column.TypeUsage);
return (_typeSize[Type] < _typeSize[column.Type])
|| !(IsUnicode ?? true) && (column.IsUnicode ?? true)
|| !(IsNullable ?? true) && (column.IsNullable ?? true)
|| IsNarrowerThan(typeUsage, otherTypeUsage);
}